Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Apple 1003 IPR2016-01842
U.S. Pat. 9,189,437
UNITED STATES PATENT AND TRADEMARK OFFICE
___________________
BEFORE THE PATENT TRIAL AND APPEAL BOARD
___________________
DECLARATION OF EREZ ZADOK, PH.D. IN SUPPORT OF PETITION FOR INTER PARTES REVIEW OF
U.S. PATENT 9,189,437
- i -
TABLE OF CONTENTS I. Introduction. ................................................................................................ - 1 - II. Qualifications. ............................................................................................. - 2 - III. My understanding of claim construction. ................................................... - 8 - IV. My understanding of obviousness. ............................................................. - 9 - V. Level of ordinary skill in the art. .............................................................. - 10 - VI. Background of the technologies disclosed in the ’437 patent. ................. - 11 -
A. Device emulation. ............................................................................. - 11 - B. Hard disk interface technologies. ...................................................... - 17 - C. Operating systems and file systems. ................................................. - 22 -
VII. Claim construction. ................................................................................... - 26 - VIII. Ground 1: The combination of Pucci, Kepley, and Schmidt renders claims 1,
4–6, 9–12, 14, 15, 30, and 34 obvious. ..................................................... - 27 - A. The combination of Pucci, Kepley, and Schmidt renders claim 1
obvious. ............................................................................................. - 28 - 1. An analog data generating and processing device (ADGPD),
comprising [1P]: ......................................................................... - 28 - 2. The combination of Pucci, Kepley, and Schmidt discloses the
ADGPD architecture elements. .................................................. - 30 - a) an input/output (i/o) port; ..................................................... - 31 - b) a program memory [1B]; ..................................................... - 32 - c) a data storage memory [1C]; ................................................ - 32 - d) a processor operatively interfaced with the I/O port, the
program memory and the data storage memory [1D]; ......... - 33 - 3. The combination of Pucci, Kepley, and Schmidt teaches the
acquisition and processing limitations of independent claim 1. - 36 - a) Pucci teaches the acquisition limitation [1E.1]. ................... - 36 - b) The combination of Pucci and Kepley teaches the data
processing limitation [1E.2]. ................................................ - 47 - 4. The combination of Pucci, Kepley, and Schmidt teaches the
automatic recognition limitation of independent claim 1. ......... - 51 -
- ii -
a) The combination of Pucci, Kepley, and Schmidt discloses the claimed automatic recognition operation [1F.1]. ................. - 52 -
b) The combination of Pucci, Kepley, and Schmidt teaches the end user requirements. ................................................................ - 62 -
c) The combination of Pucci, Kepley, and Schmidt teaches the automatic recognition data element requirements. .............. - 67 -
5. The combination of Pucci, Kepley, and Schmidt teaches the file transfer limitation of independent claim 1. ................................ - 70 - a) The combination of Pucci, Kepley, and Schmidt teaches the
recited automatic file transfer process. ................................ - 71 - b) The combination of Pucci, Kepley, and Schmidt discloses the
emulation and user requirement component of the file transfer limitation. ............................................................................. - 77 -
B. The combination of Pucci, Kepley, and Schmidt renders claim 4 obvious. ............................................................................................. - 78 -
C. The combination of Pucci, Kepley, and Schmidt renders claim 5 obvious .............................................................................................. - 80 -
D. The combination of Pucci, Kepley, and Schmidt renders claim 6 obvious. ............................................................................................. - 81 -
E. The combination of Pucci, Kepley, and Schmidt renders claim 9 obvious. ............................................................................................. - 81 -
F. The combination of Pucci, Kepley, and Schmidt renders claim 10 obvious. ............................................................................................. - 84 -
G. The combination of Pucci, Kepley, and Schmidt renders claim 11 obvious. ............................................................................................. - 84 -
H. The combination of Pucci, Kepley, and Schmidt renders claim 12 obvious. ............................................................................................. - 87 -
I. The combination of Pucci, Kepley, and Schmidt renders claim 14 obvious. ............................................................................................. - 89 -
J. The combination of Pucci, Kepley, and Schmidt renders claim 15 obvious. ............................................................................................. - 90 -
K. The combination of Pucci, Kepley, and Schmidt renders claim 30 obvious. ............................................................................................. - 91 -
L. The combination of Pucci, Kepley, and Schmidt renders claim 34 obvious. ............................................................................................. - 93 -
- iii -
IX. Ground 2: The combination of Pucci, Kepley, Schmidt, and Shinosky renders claim 16 obvious. ......................................................................... - 94 -
X. Ground 3: The combination of Pucci, Kepley, Schmidt, and Campbell renders claims 13 and 18 obvious. ........................................................... - 98 - A. The combination of Pucci, Kepley, Schmidt and Campbell renders
claim 13 obvious. .............................................................................. - 99 - B. The combination of Pucci, Kepley, Schmidt, and Campbell renders
claim 18 obvious ............................................................................. - 103 - XI. Ground 4: The combination of Pucci, Kepley, Schmidt, and Wilson renders
claim 32 obvious. .................................................................................... - 103 - XII. Ground 5: The combination of Pucci and Schmidt renders claim 43 obvious.
- 105 - A. An analog data generating and processing method for acquiring analog
data and for communicating with a host computer comprising [43P]: ... - 105 -
B. The combination of Pucci and Schmidt discloses the architecture elements of claim 43. ...................................................................... - 106 - 1. The combination of Pucci, Kepley, and Schmidt teaches the
acquisition and processing limitations [43B]. .......................... - 109 - a) Pucci teaches the acquisition limitation of independent claim
43. ....................................................................................... - 109 - b) The combination of Pucci and Schmidt teaches the processing
limitation of independent claim 43. ................................... - 109 - 2. The combination of Pucci and Schmidt teaches the automatic
recognition limitation of independent claim 43. ...................... - 111 - 3. The combination of Pucci and Schmidt teaches the transferring
limitation of independent claim 43. .......................................... - 115 - 4. The combination of Pucci and Schmidt teaches “wherein the
identification parameter is consistent with the ADGPD being responsive to commands issued from a customary device driver.” .. - 117 -
XIII. Ground 6: The combination of Pucci, Schmidt, and Campbell renders claim 45 obvious. .............................................................................................. - 118 -
XIV. Adequacy of the German Priority Application ....................................... - 118 - XV. Conclusion. ............................................................................................. - 122 -
- 1 -
I. Introduction.
I, Dr. Erez Zadok, declare as follows:
1. I have been retained on behalf of Apple Inc. for the above-captioned
inter partes review proceeding. I understand that this proceeding involves U.S.
Patent No. 9,189,437 (“the ’437 patent”) titled “Flexible Interface for
Communication Between a Host and an Analog I/O Device Connected to the
Interface Regardless the Type of the I/O Device” by Michael Tasler, and that the
’437 patent is currently assigned to Papst Licensing GmbH & Co. KG.
2. In preparing this declaration, I have reviewed and am familiar with all
the references cited herein.
3. The ’437 patent describes an interface device that “simulates, both in
terms of hardware and software, the way in which a conventional input/output
device functions, preferably that of a hard disk drive.” (Ex. 1001, ’437 patent,
4:16–20.) I am familiar with the technology described in the ’437 patent as of its
August 24, 2006 filing date and its claimed March 4, 1997 priority date.
4. I have been asked to provide my independent technical review,
analysis, insights, and opinions regarding the ’437 patent and the references that
form the basis for the six grounds of rejection set forth in the Petition for Inter
Partes Review of the ’437 patent.
- 2 -
II. Qualifications.
5. As indicated in my curriculum vitae, attached as Ex. 1004, I am a
Professor in the Computer Science Department at Stony Brook University (part of
the State University of New York (“SUNY”) system). I direct the File Systems and
Storage Lab (FSL) at Stony Brook’s Computer Science Department. My research
interests include file systems and storage systems, operating systems, energy
efficiency, performance and benchmarking, information technology and system
administration, security, networking, compilers, and software engineering.
6. I studied at a professional high school in Israel, focusing on electrical
engineering (“EE”), and graduated in 1982; for my final high-school EE project, I
developed a system and custom protocol to exchange data between a Commodore
CBM-9000 6502-processsor-based personal-computer and a custom-built Intel
8080 processor based embedded system. I spent one more year at the high school’s
college division, receiving a special Certified Technician’s degree in electrical
engineering. I then went on to serve in the Israeli Defense Forces for three years
(1983–1986). I received my Bachelor of Science degree in computer science
(“CS”) in 1991, my Master’s degree in CS in 1994, and my Ph.D. in CS in 2001—
all from Columbia University in New York.
7. In 1981, while still in high school studying electrical engineering, I
became the lab manager for a newly established computer lab. During that time, I
- 3 -
also worked as a support technician for Commodore Computers in Israel. During
my army service, I was trained and then supported electronic and computerized
subsystems (including HP-IB based measurement equipment and oscilloscopes).
After being honorably discharged, I served as an instructor, teaching computer
programming to K-12 students for one year.
8. When I began my undergraduate studies at Columbia University, I
also started working as a student assistant in the various campus-wide computer
labs, eventually becoming assistant to the lab manager, who was managing all
public computer labs on campus. During that time, I also became more involved
with research within the CS Department at Columbia University, conducting
research on operating systems, file and storage systems, and other topics. I also
assisted the CS department’s computer administrators in managing the
department’s computers, which included storage related duties.
9. In 1991, I joined Columbia University’s CS department as a full-time
systems administrator, studying towards my MS degree part-time. My MS thesis
topic related to file system reliability, fault tolerance, replication, and failover. My
main duties as a systems administrator involved installing, configuring, and
managing many servers and desktops running several operating systems. My duties
also included ensuring reliable, convenient, high-speed data storage management
and backups using various backup/restore systems and software. I have studied and
- 4 -
mastered an assortment of storage devices (e.g., floppy, hard disk, optical
jukeboxes) and protocols (e.g., SCSI, ATA/IDE).
10. In 1994, I left my systems administrator position to pursue my
doctoral studies at Columbia University. My Ph.D. thesis topic was on versatile file
system development, with examples in the fields of security and encryption,
efficiency, reliability, and failover. I continued to work part-time as a systems
administrator at the CS department, and eventually I was asked to serve as
manager to the entire information technology (“IT”) staff. From 1991 to 2001, I
was a member of the faculty-level Facilities Committee which oversaw all IT
operations at the CS department.
11. From 1990 to 1998, I consulted for SOS Corporation and HydraWEB
Technologies, as a systems administrator and programmer, often managing data
storage use and backup/restore duties. From 1994 to 2000, I led projects at
HydraWEB Technologies, and then became the Director of Software
Development—overseeing the development of several products and appliances
such as firewalls and load-balancers. Since 2009, I have consulted for Packet
General Networks, a startup specializing in secure storage and applications’ data
security.
12. In 2001, I joined the faculty of Stony Brook University, a position I
have held since. In 2002, I joined the Operations Committee, which oversees the
- 5 -
IT operations of the CS department at Stony Brook University. From 2006 to 2010,
I was the Director of IT Operations of the CS department; my day-to-day duties
include setting policies regarding computing, hiring and training new staff,
assisting any staff with topics of my specialty, defining requirements for new
software/hardware, and purchasing. From 2010 to 2015, I have served as the Co-
Chair to the Operations Committee. As of 2016, I oversee the IT Operations as the
Chair of the Operations Committee.
13. Since 1995, I have taught courses on operating systems, storage and
file systems, advanced systems programming in Unix/C, systems administration,
data structures, and more. My courses often use storage, file systems, and security
as key teaching principles and practical examples for assignments and projects. I
have taught storage hardware concepts and techniques to my students, both to my
direct advisees as well as in my graduate Storage Systems course.
14. My research often investigates computer systems from many angles:
security, efficiency, energy use, scalability, reliability, portability, survivability,
usability, ease-of-use, versatility, flexibility, and more. My research gives special
attention to balancing five often-conflicting aspects of computer systems:
performance, reliability, energy use, security, and ease-of-use. Since joining Stony
Brook University in 2001, my group in the Filesystems and Storage Lab has
developed many file systems and operating system extensions; examples include a
- 6 -
highly-secure cryptographic file system, a portable copy-on-write (COW)
versioning file system, a tracing file system useful to detect intrusions, a replaying
file system useful for forensics, a snapshotting and sandboxing file system, a
namespace unification file system (that uses stackable, file-based COW), an anti-
virus file system, an integrity-checking file system, a load balancing and
replication/mirroring file system, a compiler to convert user-level C code to in-
kernel efficient yet safe code, GCC plugins, stackable file system templates, and a
Web-based backup system. I continue to maintain and release newer versions of
some of these file systems and software to date. Many of the storage and file
systems I have developed and published use various forms of virtualization: they
emulate one type of storage or file system while using another internally.
15. I have published over 110 refereed publications (in ACM, IEEE,
USENIX, and more). To date, my publications had been cited more than 4,700
times (as per Google Scholar). My papers cover a wide range of related
technologies such file systems, storage systems, security, performance
benchmarking and optimization, energy efficiency, and more. I also published a
book entitled “Linux NFS and Automounter Administration” (Sybex, 2001),
covering systems administration topics related to network storage.
16. Some of my research has led to public software releases that have
been used world-wide. I have publicly maintained the Amd Berkeley Automounter
- 7 -
in a package called “am-utils” since 1992; this software helps administrators
manage the multitude of file system mounts on dozens of different Unix systems.
Since 1997, I have maintained and released several stackable file system software
projects for Linux, FreeBSD, and Solaris, in a package called FiST. One of my
stackable file system encryption projects, called Cryptfs, became the basis for
IBM’s public release of eCryptfs, now part of Linux. Another encryption file
system called Ncryptfs was licensed by Packet General Networks, for whom I have
provided consulting services since 2009. Another popular file system released in
2003, called Unionfs, offers namespace unification, transparent shadow copying
(a.k.a., copy-on-write or COW), file system snapshotting, and the ability to save
disk space by sharing a read-only copy of data among several computers, among
other features.
17. My research has been supported by many federal and state grants,
including an NSF CAREER award, two IBM Faculty awards, two NetApp Faculty
awards, a Western Digital award, EMC awards, and several equipment gifts. I was
the winner of the 2004 Computer Science Department bi-annual Graduate
Teaching Award, the winner of the 2006 Computer Science Department bi-annual
Research Excellence Award, and a recipient of the 2008 SUNY Chancellor’s
Excellence in Teaching award (an award that can be given only once a lifetime).
- 8 -
18. I am a named inventor on three patents, two titled “Systems and
Methods for Detection of New Malicious Executables” (U.S. Patent No. 7,979,907,
issued July 12, 2011; and U.S. Patent No. 7,487,544, issued February 3, 2009); and
one titled “Multi-Tier Caching,” (U.S. Patent 9,355,109, issued May 31, 2016).
19. I have been disclosed as a testifying expert in six cases in the past four
years. I have been deposed four times and testified in trial twice.
20. A complete copy of my curriculum vitae, which includes a list of my
publications, and contains further details on my education, experience,
publications, patents, and other qualifications to render an expert opinion, is
attached as Ex. 1004.
21. The compensation I receive through my consulting company, Zadoks
Consulting, LLC, is $450 per hour for my time, plus out-of-pocket expenses. This
compensation is not dependent in any way on the contents of this declaration, the
substance of any testimony I may provide, or the outcome of this proceeding.
III. My understanding of claim construction.
22. I understand that during an inter partes review, claims of an unexpired
patent are to be given their broadest reasonable construction in light of the
specification as would be read by a person of ordinary skill in the relevant art
(“POSITA”).
- 9 -
IV. My understanding of obviousness.
23. I understand that a patent claim is invalid if the claimed invention
would have been obvious to a POSITA at the time the application was filed. This
means that even if all of the requirements of the claim cannot be found in a single
prior art reference that would anticipate the claim, the claim can still be invalid.
24. As part of this inquiry, I have been asked to consider the level of
ordinary skill in the field that someone would have had at the time the claimed
invention was made. In deciding the level of ordinary skill, I considered the
following:
• the levels of education and experience of persons working in the field;
• the types of problems encountered in the field; and
• the sophistication of the technology.
25. To obtain a patent, a claimed invention must have, as of the priority
date, been nonobvious in view of the prior art in the field. I understand that an
invention is obvious when the differences between the subject matter sought to be
patented and the prior art are such that the subject matter as a whole would have
been obvious at the time the invention was made to a POSITA.
26. I understand that to prove that prior art, or a combination of prior art,
renders a patent obvious, it is necessary to: (1) identify the particular references
that singly, or in combination, make the patent obvious; (2) specifically identify
- 10 -
which elements of the patent claim appear in each of the asserted references; and
(3) explain how the prior art references could have been combined in order to
create the inventions claimed in the asserted claim.
27. I understand that certain objective indicia can be important evidence
regarding whether a patent is obvious or nonobvious. Such indicia include: (1)
commercial success of products covered by the patent claims; (2) a long-felt need
for the invention; (3) failed attempts by others to make the invention; (4) copying
of the invention by others in the field; (5) unexpected results achieved by the
invention as compared to the closest prior art; (6) praise of the invention by the
infringer or others in the field; (7) the taking of licenses under the patent by others;
(8) expressions of surprise by experts and those skilled in the art at the making of
the invention; and (9) the patentee proceeded contrary to the accepted wisdom of
the prior art.
V. Level of ordinary skill in the art.
28. I understand that claims must be interpreted by the POSITA at the
time of invention. For the purpose of this proceeding, I have been informed to
evaluate the level of ordinary skill in the art as of March 4, 1997. Based on the
disclosure of the ’437 patent, a POSITA at the relevant time, would have had at
least a four-year undergraduate degree in electrical engineering, computer science,
computer engineering, or related field of study, or equivalent experience, and at
- 11 -
least two years’ experience in studying or developing computer interfaces or
peripherals and storage related software. In my opinion, a POSITA would also be
familiar with operating systems (e.g., MS-DOS, Windows, Unix), their associated
file systems (e.g., FAT, UFS, FFS), device drivers for computer components and
peripherals (e.g., mass storage device drivers), and communication interfaces (e.g.,
SCSI, USB, PCMCIA). This description is approximate, and a higher level of
education or skill might make up for less experience, and vice-versa.
29. Based on my experience I have an understanding of the capabilities of
a POSITA. Furthermore, I possessed those capabilities myself at least as of the
time the patent was filed.
VI. Background of the technologies disclosed in the ’437 patent.
30. The ’437 patent adds minor details to a known approach (hard disk or
mass storage device emulation) to interfacing between a host computer and a data
transmit/receive device. In this section, I provide a background discussion of
aspects of the claimed system, including the purported novelty of the ’437 patent
over the prior art.
A. Device emulation.
31. The ’437 patent recites that “[t]he interface device according to the
present invention… simulates, both in terms of hardware and software, the way in
- 12 -
which a conventional input/output device functions, preferably that of a hard disk
drive.” (’437 patent, 4:16–20 (emphasis added).)
32. The concept of “simulation” as it is described in the ’437 patent—
where one device simulates another device—was also known in the art as
“emulation” prior to the earliest possible priority date of the ’437 patent. For
example, U.S. Patent No. 4,727,512 to Birkner et al., filed on December 6, 1984,
was known in the art to utilize a “universal interface device” to emulate magnetic
tape drives in the context of connecting “a computer system having an industry
standard magnetic tape drive interface and peripheral image acquisition processing
system.” (Ex. 1009, Birkner, 1:7–12; 1:27–31.) This interface device provides
“compatibility between magnetic tape drives and the peripheral image acquisition
processing system” (Birkner, 1:7–12), by receiving “magnetic tape data and
controls signals” at the interface bus of the interface bus, and “convert[ing] them
into digital data and control signals.” (Birkner, 41–44.) These converted “digital
data and control signals are sent to a data bus [] where they are available for
general access” by another computer system, such as a peripheral image
acquisition processing system. (Birkner, 2:44–51.) Thus, the interface device
allows a host computer, such as the peripheral image acquisition processing
system, to use “existing industry standard interfaces” to access data stored on
magnetic tape drives. (Birkner, 1:27–31.)
- 13 -
33. However, one of ordinary skill in the art would understand that
emulation was not merely limited to interface devices for magnetic tape drives. For
example, as early as 1983, interface devices such as storage controller emulators
were known in the art for providing “transparent resource sharing” to mass storage
devices such as floppy disk drives. (See Ex. 1010, Maclean, 1:6–11; 3:17–26.) U.S.
Patent No. 4,792,896 to Maclean (“Maclean”), filed on November 29, 1983, for
example, is titled “Storage Controller Emulator Providing Transparent Resource
Sharing in a Computer System.” (See Maclean, Face.) In this patent, storage
controller emulators operate by simulating “the characteristics and responses of a
mass storage device… by processing commands sent by the microprocessor.”
(Maclean, 3:45–49.) One of ordinary skill in the art would have understood that the
practice of emulation solved an important problem in the context of sharing
network resources to a host computer from different devices, such as storage
devices, that are provided by different manufacturers. (See, e.g., Maclean, 1:14–
20.) Different manufacturers may “replac[e] the existing device drivers with their
own” “in order to install their hardware into the computers.” (Maclean, 2:25–30.)
Device drivers translate the protocols of the device so that it may be understood by
the host computer. (See Maclean, 1:57–66.)
34. As one of ordinary skill in the art would have recognized, at least as
early as 1983, this approach—where different devices require different device
- 14 -
drivers in order to communicate with the host computer—can cause compatibility
problems. For example, changes to the operating system of the host computer, such
as updates or new releases, may cause the operating system to be incompatible
with the existing devices. (See Maclean, 2:30–34.) Accordingly, manufacturers
would have to update and reinstall new device drivers for their devices (or provide
“patches”) in order to continue communication with the host computer. (See
Maclean, 2:34–40.) There may also be incompatibility caused by original device
drivers provided by the operating system and device drivers provided by the device
manufacturer. (See Maclean, 2:37–40.) Finally, users depended on manufacturers
to provide device drivers for different operating systems before installing new
software or devices on their host computers. (See Maclean, 2:40–42.)
35. Based on these problems associated with device drivers, it was
desirable “to provide the capability of resource and information sharing from a
network system… while at the same time avoiding the problem of the need to
modify the software package for the operating system to run on and accommodate
the network system.” (Maclean, 2:60–65.) In other words, it was desirable to use
the same drivers that were known to the operating system (and the host computer),
rather than requiring different device drivers from each device manufacturer. (See
Maclean, 3:6–14.)
- 15 -
36. At least as early as 1983, one of ordinary skill in the art would have
been aware of at least one way to accomplish these goals: emulating a host
computer device so that existing drivers within the operating system may be
utilized. Such emulation may be performed by “exactly simulat[ing] the
characteristics and responses of the normal computer hardware which it replaces.”
(Maclean, 4:49–53.) Examples of host computer devices that may be emulated
include mass storage devices, floppy disks, and printers. (Maclean, 5:24–28; 6:32–
34.) The benefits of this approach were well known to one of ordinary skill in the
art and included eliminating the need for device drivers from device
manufacturers, reusing existing device drivers already present in the operating
system, and ensuring communications compatibility between devices and the host
computer across past, existing, and future operating systems. (See Maclean, 3:54–
68.) As another example, when an interface device emulates a floppy disk, “any
that is designed to be used on an IBM PC with disk drives (whether hardware or
software) can still be used [and] [t]herefore, local hard disks are possible as are
RAM disks, communication devices, and even other networks from other
manufacturers.” (Maclean, 7:60–66.)
37. Another example of a universal interface known at the time of the
earliest possible priority date of the ’437 patent is plug-and-play (“PnP“). PnP
refers to a set of specifications “that allows a PC to configure itself automatically
- 16 -
to work with peripherals such as monitors, modems, and printers.” (Ex. 1014,
Microsoft Computer Dictionary, p. 370.) As explained by the Plug-and-Play SCSI
Specification, Version 1.0, dated March 30, 1994, PnP essentially extend existing
standards, such as Small Computer System Interface (“SCSI”) to enable automated
identification and configuration of peripherals. (Ex. 1031, PnP SCSI, p. 5.)
38. There were several different uses for device emulation as I described
above. One such application allows storage devices to appear as if they are local to
the host computer when, in actuality, they are separated from the host computer by
a network. (See Maclean, 7:45–53.) In other words, interface devices that emulated
disk drives essentially “lie” to or trick the host computer into using its known
device drivers to communicate with a wider variety of devices.
39. There is another benefit to avoiding the use of device drivers: they are
simply slower than interface devices for translating commands between the host
computer devices and the host computer. (See Ex. 1011, Jorgensen, p. 5
(explaining that software drivers are “relatively slow” compared to hardware-based
solutions for converting “appropriate commands for interfacing with [an] optical
disk drive”).)
40. In the prosecution history of the ’437 patent, the applicant argued that
“all the claims require the processor of the ADGPD to automatically send an
identifying parameter which misrepresents what the ADGPD is to the host
- 17 -
computer in a host computer automatic recognition process.” (Ex. 1002, p. 702,
(Reply Brief, September 25, 2012) (emphasis added).) From the above discussion,
it is readily apparent that such “misrepresentation”—emulation in technical
terms—is not a novel feature of the ’437 patent.
B. Hard disk interface technologies.
41. In this section, I provide a background discussion of hard disk drive
technologies at the time of the earliest possible priority date of the ’437 patent. The
’437 patent recites causing:
at least one parameter identifying the analog data generating and processing device, independent of analog data source, as a digital storage device instead of as an analog data generating and processing device to be automatically sent through the i/o port and to the multi-purpose interface of the computer.
(’437 patent, 12:64 to 13:5 (emphasis added).) 42. The “identifying” clause of the claim implies device emulation
discussed above in the previous section. The remainder of the quoted portion
(“which signals…”) describes the concept of identifying devices, such as hard disk
drives, within a computer.
43. It was well known at the time prior to the earliest priority date of the
‘437 patent that when a host computer detects that a device has been connected to
it, the host inquires as to what type of device it is and the connected device
responds. The host then determines whether it already possesses drivers for the
- 18 -
identified type of device, and if not, the host must obtain device-specific drivers
before it can fully operate with the new device. This concept is perhaps best
illustrated by two well-known hard disk interface technologies that existed prior to
the earliest priority date of the ’437 patent, in particular, Advanced Technology
Attachment (“ATA”) and Small Computer Systems Interface (“SCSI”) bus.
44. As of the earliest possible priority date of the ’437 patent, the ATA
interface, also known as the Integrated Device Electronics (“IDE”) interface, and
the SCSI bus were the most commonly used interfaces for computer peripherals.
“The IDE hard disk interface is found almost exclusively in the world of IBM PC
compatibles.” (Ex. 1007, Schmidt, p. v.) Additionally, “almost all modern
computers, from PCs to workstations to mainframes, are equipped with a SCSI
interface.” (Schmidt, p. v.) While the IDE interface is generally limited to hard
drives and CD-ROMs, the SCSI bus is compatible with a variety of devices
including tape drives, CD-ROM, scanners, and printers. (Schmidt, pp. v, 133.)
45. “The primary objective of the [SCSI] interface is to provide host
computers with device independence within a class of devices.” (Ex. 1012, SCSI
Spec, p. 6; see also Schmidt, p. 79.) Schmidt explains that SCSI is an “ANSI
standard” and the document describing this standard is the SCSI Specification
called X3.131-1994. The SCSI specification thus provides an overview of the
approved SCSI standard. SCSI bus is a “device independent interface” that allows
- 19 -
a variety of devices to be linked to a computer system using a single bus. (Schmidt,
p. 79.) This means that a wide range of devices from different vendors may be
connected to the SCSI bus without requiring specific knowledge of the device’s
properties. (Schmidt, p. 166 (noting the “vendor independent philosophy of
SCSI”).) The ’437 patent acknowledges that SCSI is a multi-purpose interface.
(’437 patent, 3:51–56.) This means that SCSI supports a variety of device types by
providing command sets for directing operations of each type of device. (See SCSI
Spec, p. xxii.)
46. As the ’437 patent acknowledges, automatic recognition of
peripherals such as hard disk drives, connected to a host computer, existed before
the earliest possible priority date of the ’437 patent. (’437 patent, 5:11–33
(describing features of “known standard access commands” and “usual BIOS
routines or multi-purpose interface programs”).) In the context of SCSI, an
INQUIRY command may be used to discover the type of device. (See Schmidt,
pp. 132–33, Table 12.1; see also p. 138.) The SCSI standard defines devices as an
initiator (i.e., a device that begins a transaction by giving another device a certain
task to perform) and a target (i.e., the device that carries out the certain task). (See
Schmidt, p. 79.) Through the use of the INQUIRY command, the initiator may
determine the device type of the target (e.g., whether the target is a printer, a hard
disk drive, or a scanner). (See Schmidt, p. 132.) As one example, when a hard disk
- 20 -
drive is connected to a host via a SCSI cable, the host issues an INQUIRY
command to the connected hard disk drive. The hard disk drive responds to the
INQUIRY command with a message that includes an identification of its device
type in accordance with the SCSI standard. (See Schmidt, pp. 138–41.)
47. In general, the initiator will transmit the INQUIRY command without
requiring any user action when a device is connected to the SCSI bus and
undergoing initialization. The target device will also respond to the INQUIRY
command with the information described above without requiring any human user
action. In other words, the INQUIRY command and the subsequent response
exchange occur automatically without requiring human intervention.
48. Targets generate standards-compliant INQUIRY data for responding
to the INQUIRY command. The table below illustrates the format of the standard
INQUIRY data:
- 21 -
(SCSI Spec, p. 97.)
49. An initiator that receives the standard INQUIRY data from a target
shown above determines the device type of the target by reviewing at least the
“peripheral qualifier,” “peripheral device-type,” and “RMB” fields. “The
peripheral qualifier and peripheral device-type fields identify the device currently
connected to the logical unit.” (SCSI Spec, p. 97.) The codes used to identify the
peripheral device type include direct-access device (e.g., disk drive), sequential-
- 22 -
access drive, and printer device. These codes are defined by the SCSI standard and
are shown below:
(SCSI Spec, p. 98.) As an example, a printer that receives an INQUIRY command
would respond with a response that included the code “02h” (“02” in hexadecimal)
in the “peripheral device-type” field.
50. Another field is “RMB,” which refers to removable medium bit,
which is used by a target to identify whether the medium is a removable (e.g., CD-
ROM) or not removable. (SCSI Spec, p. 98.)
C. Operating systems and file systems.
51. In this section, I provide a background discussion of operating
systems and file systems at the time of the earliest possible priority date of the ’437
patent.
52. One common definition of an operating system is a “program that acts
as an intermediary between a user of a computer and the computer’s hardware.”
(Ex. 1013, Silberschatz, p. 3.) A computer’s hardware includes input/output (I/O)
- 23 -
devices such as the computer’s disk drives, printers, and tape drives. (See
Silberschatz, p. 30; Figure 2.1.) Each of these devices often interfaces with “a
special subroutine [] written for each I/O device.” (Silberschatz, p. 6.) This
subroutine, also known as a device driver, acts as a translator for its respective I/O
device, translating commands sent from the operating system into a (special)
format understood by the device. (See Silberschatz, pp. 6, 384–385.) With regard
to disk drives in particular, a disk drive is typically attached to a computer by way
of a bus. (See Silberschatz, pp. 29–30.) One such example of such a bus that
connects to input/output devices such as disk drives is a SCSI bus. (Schmidt,
p. 79.) Data transfers to/from disk drives are carried out by devices called
controllers and each type of device is typically managed by specific device
controller. (See Silberschatz, pp. 32–33.) As one example, one or more SCSI
devices are controlled by a SCSI device controller. (See Silberschatz, p. 32.)
53. When a computer, such as one implementing a Macintosh Operating
System boots up, or an OS found in “many small- to medium-sized computers,”
the operating system determines what hard disks are connected to the computer.
(See Silberschatz, pp. 32, 386–387.). If a hard disk is found, the operating system
searches for a file system on the hard disk. (See Silberschatz, pp. 386–387.) A file
system “[i]n an operating system, [is] the overall structure in which files are
named, stored, and organized” and “consists of files, directories, or folders, and the
- 24 -
information needed to locate and access these items.” (Microsoft Computer
Dictionary, p. 196.) “To provide an efficient and convenient access to the disk, the
operating system imposes a file system to allow the data to be stored, located, and
retrieved easily.” (Silberschatz, p. 384 (emphasis in original).) The file system
organizes and stores the data as files, and provides the mechanism by which users
may access data and programs of the operating system. (See Silberschatz, pp. 349–
350, Figure 11.1 below.)
“The file system consists of two distinct parts: a collection of files, each storing
related data, and a directory structure, which organizes and provides information
about all the files in the system.” (See Silberschatz, p. 349 (emphasis in original).)
- 25 -
54. One example of a file system is the file allocation table (“FAT”) file
system, which is utilized by the operating system MS-DOS. (Microsoft Computer
Dictionary, p. 194 (definition of “file allocation table”).)
55. Data transfer of files takes advantage of the file system structure that
is accessible to the operating system (e.g., data, meta-data, namespace). “To
improve I/O efficiency,” a file system maintains the files in units called blocks and
each block is further organized into one or more sectors, which represent actual
physical locations on the disk drive. (Silberschatz, p. 410.) Depending on the disk
drive, sectors may vary in size (e.g., from 32 bytes to 4096 bytes). (Silberschatz,
p. 383.) The file system employs drivers to transfer the data between the memory
and the disk system. (Silberschatz, p. 384.)
56. For the operating system to access a file system on any disk drive, the
operating system must first mount the file system. Mounting generally takes place
when the computer is booting, for example when the computer is turned on or after
the computer has been restarted. The booting process discussed above involves the
use of a bootstrap program which is the initial program that the computer runs on
when it is powered up or rebooted. (Silberschatz, p. 30.) In IBM PCs, this initial
bootstrap program is known as Basic Input/Output System (“BIOS”). (Microsoft
Computer Dictionary, p. 51.) The bootstrap program “initializes all aspects of the
- 26 -
system” including identifying all devices that are connected to the system.
(Silberschatz, p. 30.)
57. At boot time, the operating system running the initial bootstrap
program identifies the devices connected to the computer. (See Silberschatz,
p. 387.) The operating system then loads the relevant drivers for the identified
devices. (Silberschatz, pp. 60, 90.) With regard to disk drives and its file system, “a
file system must be mounted before it can be available to processes on the
system.” (Silberschatz, p. 386 (emphasis in original).) To do this, “[t]he operating
system is given the name of the device, and the location within the file structure at
which to attach the file system.” (Silberschatz, p. 386.) The operating system next
verifies that the device contains a valid file system by asking, via the device’s
driver, to read the device’s file system information and verifying that the file
system has the appropriate format (Silberschatz, pp. 386–387.) Once verified, the
operating system will automatically mount the file system and provide users with
access to the file system, typically through an icon on the graphical user interface
or a newly available drive letter. The user may then click on the icon to access the
file system of the device. (See Silberschatz, p. 387.)
VII. Claim construction.
58. The term “multi-purpose interface of the host computer” is not
defined in the ’437 patent. However, I have been informed by counsel that Papst
- 27 -
agreed to this construction for the term: “a communication interface designed for
use with multiple devices that can have different functions from each other.”
59. It is my opinion that the term “customary device driver” means
“driver for a device normally present in most commercially available host devices
at the time of the invention.” The ’437 patent describes an “input/output device
customary in a host device” as “normally present in most commercially available
host devices.” (’437 patent, 3:35–37.) Thus, “customary” means “normally present
in most commercially available host devices.” I have been informed by counsel
that my interpretation is consistent with a construction provided by the Federal
Circuit in a decision involving the ’437 patent.
VIII. Ground 1: The combination of Pucci, Kepley, and Schmidt renders claims 1, 4–6, 9–12, 14, 15, 30, and 34 obvious.
60. Configurable Data Manipulation in an Attached Multiprocessor,
by Marc F. Pucci (Ex. 1037) is prior art under at least 35 U.S.C. §§ 102(a) and
102(b) because it was published in 1991. (See Ex. 1024.) The SCSI Bus and IDE
Interface—Protocols, Applications and Programming, by Friedhelm Schmidt
(Ex. 1007) is prior art under at least 35 U.S.C. §§ 102(a) and 102(b) because it was
published in 1995. (See Ex. 1024.) U.S. Patent No. 4,790,003 to Kepley et al.,
titled “Message Service System Network” is prior art under at least 35 U.S.C. §§
102(a) and 102(b) because it issued on December 6, 1988. (See Ex. 1038.)
- 28 -
A. The combination of Pucci, Kepley, and Schmidt renders claim 1 obvious.
1. An analog data generating and processing device (ADGPD), comprising [1P]:
61. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “an analog data generating and processing device,” and in particular,
Pucci’s ION node is an “analog data generating and processing device (ADGPD).
An ION node “is a back-end system, connecting to a workstation via the Small
Computer Systems Interface (SCSI) disk interface.” (Pucci, p. 217) In an
exemplary application, the ION node “supports an analog to digital (A-to-D)
conversion application that provides voice messaging service for a prototype
telephone switch.” (Pucci, p. 221.) As shown in Pucci’s annotated Figure 1 below,
the ION node includes A to D converters.
analog data generating and processing device
- 29 -
62. These A to D converters convert analog voice messages received on
respective analog channels. (Pucci, p. 221.) Pucci explains that in one example
application “ION provides the platform for analog to digital (A-to-D) services for a
voice messaging application.” (Pucci, p. 231.)
63. A POSITA would understand an A to D converter to be an analog-to-
digital converter, which is “[a] device that converts a continuously varying
(analog) signal, such as sound or voltage, from a monitoring instrument to binary
code for use by a computer.” (Microsoft Computer Dictionary, p. 23.) Based on
this understanding of Pucci’s A to D converter and the disclosures in Pucci
described above, a POSITA would understand that, in Pucci, when an analog voice
message is received on a given analog channel, analog data is generated at the
input of the corresponding A to D converter.
64. Pucci describes three tasks the ION node performs and further
explains that:
The part of the A-to-D application that resides within ION is structured around three cooperating tasks. One task is activated by periodic interrupts from the hardware and extracts the raw data from the converter, placing it into a queue for temporary storage. (Pucci, p. 231.) 65. The second task performed on the ION node “is a generic system
utility that translates 16-bit linear data into 8-bit mu-law data....” (Pucci, p. 231.)
And, the third task “interfaces to the SCSI bus and returns data to the workstation
when requested.” (Pucci, p. 232.) These tasks, performed by the ION node,
- 30 -
represent additional processing of the generated analog data performed by the ION
node. Thus, in Pucci’s A-to-D conversion application, the ION node is dedicated to
generating and processing analog data. Accordingly, a POSITA would conclude
that the ION node is an “ADGPD.”
2. The combination of Pucci, Kepley, and Schmidt discloses the ADGPD architecture elements.
66. Independent claim 1 recites four architectural elements of the
ADGPD: (1) an input/output (i/o) port, (2) a program memory, (3) a data storage
memory, and (4) a processor operatively interfaced with the i/o port, the program
memory, and the data storage memory. The following annotated Figure 2
highlights the mapping of the claim elements to Pucci’s ION system. I address
these four architectural elements below.
- 31 -
a) an input/output (i/o) port;
67. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “an input/output (i/o) port.” An input/output port is “[a] channel through
which data is transferred between an input or output device and the processor.”
(Microsoft Computer Dictionary, p. 253 (definition of “input/output port”).) .)
Annotated figure 2 of Pucci (reproduced above) depicts the hardware configuration
of an ION node. The depicted configuration uses a set of single board computers
(SBC’s) where “[a]n SBC is dedicated to each workstation connection.” (Pucci, p.
222.) And, “[e]ach SBC contains its own SCSI interface chip....” (Pucci, p. 222,
Figure 2.) A single board computer is also known as a “board computer” and
“pertain[s] to a computer that occupies only one circuit board, usually with no
capacity for additional boards.” (Microsoft Computer Dictionary, pp. 57 (definition
of “board computer”), 437 (definition of “single-board”.) Pucci’s Figure 2
indicates that each SBC comprises an SCSI Bus Interface that connects with an
individual workstation.
- 32 -
(Pucci, annotated Fig. 2.)
68. Based on at least these disclosures in Pucci, a POSITA would
conclude that the SCSI interface chip enables the SCSI Bus Interface, and in
particular the connection to the individual workstations, as shown in figure 2.
Accordingly, based on a POSITA’s understanding of “i/o port,” the SCSI interface
chip of an SBC of the ION node is “an input/output (i/o) port.”
b) a program memory [1B];
69. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses an ADGPD comprising “a program memory.” In particular, Pucci
discloses that “[s]oftware run[s] within the ION system....” (Pucci, p. 220.)
Specifically, “a variety of applications” can be “managed by tasks running within
the ION system.” (Pucci, p. 221.) “All ION tasks are memory resident and execute
with their own flow of control.” (Pucci, p. 223.) Accordingly, a POSITA would
recognize Pucci’s tasks as programs that are stored in memory..
c) a data storage memory [1C];
70. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses an ADGPD comprising “a data storage memory.” The ION node also
includes “local ION storage” and a “large buffer memory.” (Pucci, p. 222, Figure
2.) The local ION storage “may consist of file system data and or application
managed object repositories.” (Pucci, p. 222.) The “[l]arge buffer memory, on the
- 33 -
order of hundreds of megabytes, is used as a cache for physical device data.”
(Pucci, p. 222.) Accordingly, the local ION storage and the large buffer memory
are the recited “data storage memory.”
d) a processor operatively interfaced with the I/O port, the program memory and the data storage memory [1D];
71. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses an ADGPD comprising “a processor operatively interfaced with the i/o
port, the program memory and the data storage memory.” The set of SBCs in
Pucci’s ION node includes an Application CPU (e.g., to run application code) and
CPUs on the interface SBCs. (See Pucci, p. 222, Figure 2.) As known by a
POSITA, a CPU is “[t]he computational and control unit of a computer” and may
be viewed as “encompass[ing] both the processor and the computer’s memory or,
even more broadly, the main computer console.” (Microsoft Computer Dictionary,
p. 84.) A “computer control console” is considered to be the “control center of a
computer system, primarily with reference to mainframe and minicomputers.”
(Microsoft Computer Dictionary, pp. 109 (definition of “computer control
console”), 457 (definition of “system console”).) Based on this understanding of a
CPU, a POSITA would conclude that Pucci’s Application CPU and interface CPUs
form a processor for the ION system.
- 34 -
72. As shown in Pucci’s annotated Figure 2 above, the Application CPU
interfaces via a VME backplane with the SCSI interface chip (“the i/o port”) and
with the local ION storage and large buffer memory (“the data storage memory.”)
An application task that resides within the ION node “interfaces to the SCSI bus
and returns data to the workstation when requested.” (Pucci, pp. 231–232.)
Because the interface of the Application CPU functions by interfacing with the
SCSI bus and providing data, the interface is operative.
73. Moreover, Pucci’s CPUs are operatively interfaced with the SCSI
interface chip. Based on the well-known understanding of a CPU, a POSITA
would conclude that Pucci’s application tasks are executed on the Application CPU
because it is “[t]he computational and control unit of a computer.” (Microsoft
Computer Dictionary, p. 84.) Because the Application CPU interfaces with the
SCSI bus via the SCSI interface chip, which connects to the ION node to
workstations, the task executing on the Application CPU is interfaced to the same
components as the Application CPU. Each SBC manages a respective SCSI Bus
Interface to a respective workstation. (Pucci, p. 222, Figure 2.) Pucci explains that
the SCSI hardware interface is used to “[e]xchange data with the workstation
across the SCSI bus.” (Pucci, p. 225.) Accordingly, a POSITA would appreciate
this interface management would include the SBC’s CPU (“the processor”)
operatively interfacing with the SBC’s SCSI interface chip (“the i/o port”).
- 35 -
74. The Application CPU is also “operatively interfaced” with the local
ION storage and large buffer memory (“the data storage memory.”) For example,
“[l]arge buffer memory... is used as a cache for physical device data.” (Pucci,
p. 222.) An application task that resides within the ION node “is activated by
periodic interrupts from the hardware and extracts the raw data from the converter,
placing it into a queue for temporary storage.” (Pucci, p. 231.) A POSITA would
appreciate the placing the raw data in a queue for temporary storage includes the
application task operatively interfacing with the large buffer memory where
physical device data is cached in Pucci. As I explained above, a POSITA would
further appreciate that the application tasks would execute on the Application
CPU.
75. The Application CPU is also “operatively interfaced” with the
“program memory.” Pucci teaches a “program memory” in which application tasks
are stored. (See Section VIII(A)(2)(b)above.) A POSITA would appreciate that the
Application CPU, which executes the application tasks, would be “operatively
interfaced... with the program memory” storing the application tasks, in order to
retrieve and execute the tasks.
- 36 -
3. The combination of Pucci, Kepley, and Schmidt teaches the acquisition and processing limitations of independent claim 1.
76. For my analysis, I utilize the following outline provided to me by
counsel, which describes a data generation process limitation [1E] as including two
components:
[1E] wherein the processor is adapted to implement
[1E.1] a data generation process by which analog data is acquired
from each respective analog acquisition channel of a plurality of
independent analog acquisition channels, (referred to as the “analog
data acquisition limitation”)
[1E.2] the analog data from each respective channel is digitized,
coupled into the processor, and is processed by the processor, and the
processed and digitized analog data is stored in the data storage
memory as at least one file of digitized analog data (referred to as the
“data processing limitation”).
I address these two components below.
a) Pucci teaches the acquisition limitation [1E.1].
77. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “the processor is adapted to implement a data generation process by
which analog data is acquired from each respective analog acquisition channel of a
- 37 -
plurality of independent analog acquisition channels.” In one of the applications
described by Pucci, the ION node “supports an analog to digital (A-to-D)
conversion application that provides voice messaging service for a prototype
telephone switch.” (Pucci, p. 221.) The ION node is connected through its
application hardware interfaces to multiple A-to-D converters, as seen below.
(Pucci, p. 220, Figure 1 and p. 222, Figure 2.)
(Pucci, Annotated Figure 1.)
78. Each A-to-D converter provides a respective analog channel for
receiving analog voice messages; in particular, “[t]he application’s interface to the
A-to-D converters is implemented as an action defined on a set of 5 disk block
addresses, each corresponding to 1 of the 5 analog channels.” (Pucci, p. 221.) “The
bulk of the application resides in a conventional workstation, while the peripheral
devices are located within ION.” (Pucci, p. 221.) “ION supports an analog to
digital (A-to-D) conversion application that provides voice messaging service for a
- 38 -
protocol telephone switch.” (Pucci, p. 221.) Figure 1 illustrates the presence of
multiple “A to D Converters” and “[t]he application’s interface to the A-to-D
converters is implemented as an action defined on a set of 5 disk block addresses,
each corresponding to 1 of the 5 analog channels.” (Pucci, p. 221). Actions in
Pucci refer to “application specific functions.” (Pucci, p. 221.) Based on these
disclosures, a POSITA would conclude that on the workstation, the A-to-D
conversion application for the voice message service controls acquisition of the
analog voice message data from the analog channels by activating the A-to-D
converters.
79. Based on Pucci’s description of the ION system, I have recreated a
figure to illustrate the features and interconnections of the system. Based on
Pucci’s description of the ION system, I have generated Figure A (below) that
combines Pucci’s Figure 1, which illustrates the ION system (Pucci, p. 220), with
Figure 2, which illustrates the internal components of the ION node in the ION
system (Pucci, p. 222).
- 39 -
(Figure A.)
80. I have further generated Figure B (below) which illustrates, based on
Pucci’s illustration in Figure 1, how the ION node of Figure 2 is connected to the
individual workstation, ION local storage (i.e., ION Disks), and application
peripherals (i.e., A to D Converters).
- 40 -
(Figure B.)
81. Moreover, Pucci further discloses, “[a]n example application [of]
[a]nalog to [d]igital conversion” where “ION provides the platform for analog to
digital (A-to-D) services for a voice messaging application of a protocol
programmable telephone switch system called GARDEN.” (Pucci, p. 231.) For the
following reasons, a POSITA would conclude that the GARDEN telephone switch
system includes a sensor. Pucci teaches that “ION provides the platform for analog
to digital (A-to-D) services for a voice messaging application of a prototype
programmable telephone switch system called GARDEN.” (Pucci, p. 231.) It is
well known to a POSITA that “a standard telephone line [] carries continuously
varying (analog) signals.” (Microsoft Computer Dictionary, p. 23 (definition of
“analog line”).) Based on Pucci’s disclosure of the telephone switch system and the
- 41 -
well-understood principles of voice data as analog data, a POSITA would conclude
that the telephone switch system provides analog data to ION for A-to-D
conversion and is “at least one of the analog sources... operatively interfaced with
the analog data generating and processing device and that is designed to generate
the analog data.”
82. It would have been obvious that Pucci’s telephone switch system
included a transducer or a “sensor” for converting “one form of energy into
another” (e.g., sound into an electrical signal). (Microsoft Computer Dictionary,
p. 428 (definition of sensor); p. 474 (definition of transducer).) Pucci discloses that
“ION provides the platform for analog to digital (A-to-D) services for a voice
messaging application” of the telephone switch system. (Pucci, p. 231.) Pucci
contemplates applications that capture audio signals: “An example application uses
a simple set of directives to capture and digitize high quality stereo audio.” (Pucci,
p. 217.) Thus, the telephone switch system must generate and provide analog
electrical signals to ION. For example, a POSITA would know that telephones and
videophones include a microphone and that a “microphone” is a sensing “device
that converts sound waves into analog electrical signals.” (Microsoft Computer
Dictionary, pp. 307 (definition of “microphone”), 496 (definition of
“videophone”).) Given that the supported application is a “voice messaging
application,” it would have been reasonable for a POSITA to conclude that Pucci’s
- 42 -
telephone switch system captures a voice or acoustic signal and transforms it into
an electrical signal.
83. Based on this understanding of conventional components within a
telephone switch, a POSITA would conclude that Pucci’s GARDEN telephone
switch captures incoming audio signals, such as voice waveforms. Based on this
conclusion, I have generated Figure C below that illustrates the GARDEN
telephone switch:
(Figure C.)
84. With regard to the A-to-D converters, Pucci explains that “[t]he
application’s interface to the A-to-D converters is implemented as an action
defined on a set of 5 disk block addresses, each corresponding to 1 of the 5 analog
channels.” (Pucci, p. 221; see also p. 232 (“This task defines a SCSI action
- 43 -
function which contains 4 block addresses for each of 5 A-to-D channels”)
(emphasis added).) Based on this disclosure, I have generated Figure D below to
represent the analog channels within the A-to-D converter:
(Figure D.)
85. Based on all of the foregoing discussion, I have generated the
following representations of the ION system that illustrate the ION node and the
A-to-D converters as shown below in Figure E. Figure E is similar to Figure B but
includes the connection between the ION node and the analog channels, as
illustrated in Figure D.
- 44 -
(Figure E.)
86. “This [third] task defines a SCSI action function which contains 4
block addresses for each of 5 A-to-D channels. Each channel contains a block
address to start conversion, stop conversion, return status, and retrieve A-to-D
data.” (Pucci, p. 232.) A POSITA would interpret each A-to-D converter as a
device that includes circuitry, which is “[a] combination of electrical components
interconnected to perform a task.” (Microsoft Computer Dictionary, p. 90
(definition of “circuit”).) Based on Pucci’s description of the A-to-D converters
comprising channels and understanding that each A-to-D converter comprises
circuitry, Pucci’s A-to-D converter includes an “analog acquisition channel.”
- 45 -
Because Pucci discloses multiple A-to-D converters, Pucci teaches a “a plurality of
analog acquisition channels.”
87. “[T]he application’s interface to the A-to-D converters is implemented
as an action defined on a set of 5 disk block addresses, each corresponding to 1 of
the 5 analog channels.” (Pucci, p. 221 (emphasis added).) A POSITA would
understand this disclosure to mean five independent channels.
88. Each A-to-D converter is read independently of the other A-to-D
converters. Specifically:
[t]he part of the application that runs on the workstation requests converted data in response to a start/stop signal from other system hardware, which indicates the beginning and end of a recording session. Upon start, the workstation reads the A-to-D start address for an appropriate channel, activating the device.
(Pucci, p. 232 (emphasis added).)
89. Reading an A-to-D converter includes acquiring analog data through
the analog acquisition channel of the A-to-D converter. On the workstation, an A-
to-D conversion application controls acquisition of analog voice data from the
analog channels by activating the A-to-D converters within the ION node. (Pucci,
pp. 221-223.) Pucci teaches “[t]his [third] task defines a SCSI action function
which contains 4 block addresses for each of 5 A-to-D channels. Each channel
contains a block address to start conversion, stop conversion, return status, and
retrieve A-to-D data.” (Pucci, p. 232.) Based on these disclosures in Pucci, a
- 46 -
POSITA would conclude that Pucci teaches “a plurality of independent analog
acquisition channels” from which “analog data [can be] acquired.”
90. It further would have been obvious to a POSITA that analog data
would be acquired from each respective A-to-D converter channel in Pucci. Pucci
discloses that “[o]ne task [of the A-to-D application that resides within ION] is
activated by periodic interrupts from the hardware and extracts the raw data from
the converter....” (Pucci, p. 231). Based on this disclosure, a POSITA would
understand that the A-to-D application, which runs on the ION node periodically
extracts data from each of the A-to-D converters. Over a period spanning an
interrupt from each A-to-D converter, the ION will thus read “each” of the
plurality of A-to-D converters.
91. Finally, Pucci’s application CPU (“the processor”) is “adapted to
implement [the] data generation process.” Analog data is acquired from the A-to-
D converters through application tasks that reside within the ION node. “This
[third] task defines… for each of 5 A-to-D channels. Each channel contains a block
address to start conversion, stop conversion, return status, and retrieve A-to-D
data.” (Pucci, p. 232.) These application tasks are executed by the Application
CPU (“the processor”) because, as described above, the CPU is “[t]he
computational and control unit of a computer.” (Microsoft Computer Dictionary,
p. 84.)
- 47 -
b) The combination of Pucci and Kepley teaches the data processing limitation [1E.2].
92. It is my opinion that the combination of Pucci and Kepley discloses
“the analog data from each respective channel is digitized, coupled into the
processor, and is processed by the processor, and the processed and digitized
analog data is stored in the data storage memory as at least one file of digitized
analog data.” The A-to-D converters convert the analog data to digitized data.
(Pucci, p. 232 (“The part of the application that runs on the workstation requests
converted data in response to a start/stop signal....”).) Based on Pucci’s disclosure
of A-to-D converters and the well-known definition of A-to-D converters, a
POSITA would appreciate that Pucci teaches that analog data is acquired from
each analog acquisition channel of a plurality of A-to-D converters. The resulting
digitized data from the A-to-D converters is “coupled into the processor, and is
processed by the processor.” In particular, an application task that resides within
the ION node “is activated by periodic interrupts from the hardware and extracts
the raw data from the converter, placing it into a queue for temporary storage.”
(Pucci, p. 231.) Another task that resides with the ION node “perform[s] data
compression on the input stream” by “translat[ing] 16-bit linear data into 8-bit mu
law data.” (Pucci, p. 231) As noted above, based on the well-known definition of a
CPU, a POSITA would appreciate that these application tasks execute on the
Application CPU (“the processor”) of the ION node.
- 48 -
93. Pucci further teaches that “the processed and digitized analog data is
stored in the data storage memory.” Specifically, Pucci discloses that an
application task “extracts the raw data from the converter, placing it into a queue
for temporary storage.” (Pucci, p. 231.) As the “[l]arge buffer memory... is used as
a cache for physical device data” (Pucci, p. 222), a POSITA would understand
placing the data in temporary storage as storing the data in the large buffer memory
(“the data storage memory”) of the ION node.
94. Finally, Pucci suggests that the processed digitized data is stored as a
file. Specifically, Pucci describes that data can be stored as “traditional file system
data” in the ION node. (Pucci, p. 221.) Pucci’s suggestion is consistent with a
POSITA’s understanding of data storage in conventional computer systems as of
the earliest possible priority date of the ’437 patent. As I described above in the
background section, file systems are an essential part of any computer system as
they are “the most visible aspect of an operating system.” (Silberschatz, p. 349.)
The file system includes “a collection of files” (Silberschatz, p. 349), and each file
“is a named collection of related information that is recorded on secondary
storage.” (Silberschatz, p. 350.) “From a user’s perspective, a file is the smallest
allotment of logical secondary storage; that is, data cannot be written to
secondary storage unless they are within a file.” (Silberschatz, p. 350 (emphasis
added).) Based on this disclosure, a POSITA would appreciate that the digitized
- 49 -
analog data of Pucci would have been stored “as at least one file of digitized
analog data.”
95. Furthermore, Kepley explicitly describes a voice mail system that
stores a “digitally encoded and compressed voice mail message” as a file. (Kepley,
Abstract, claim 1.) A POSITA would have found it obvious to combine Pucci and
Kepley. First, Pucci provides an explicit motivation explaining that an application
of the ION node is a “platform for analog to digital (A-to-D) services for a voice
messaging application of a prototype programmable telephone switch system
called GARDEN.” (Pucci, p. 231.) A POSITA would have looked to Kepley for
those details because Kepley describes a voice mail messaging system and
application just like Pucci, and both are in the same field. (Kepley, Abstract.)
96. A POSITA would have found it obvious to store the digitized A-to-D
converted data as a file in Pucci’s voice messaging service application to enable
“computer-to-computer data file transfer” between the ION-enabled voice
messaging service system and other messaging service systems as taught by
Kepley. The file storage of Kepley allows the voice mail message service system
to perform “voice mail message transfer... as a computer-to-computer data file
transfer operation over high speed data lines” to other message service systems.
(Kepley, Abstract.) Kepley’s discussion of the importance of data storage as a file
is consistent with the well-understood principles of file systems:
- 50 -
Since the voice mail message is a data file, the computer-to-computer file transfer mechanism insures the integrity of the data comprising the voice mail message…. The transmission of the digitally encoded, compressed voice mail message over high speed digital facilities also is timewise efficient compared to transmitting the analog version of the voice mail message. One additional benefit of this arrangement is the ability to transmit the message sender’s name in text form along with the voice mail message.
(Kepley, 15:59 to 16:4.) 97. Further, the modification would have involved a simple substitution of
one known element (Kepley’s analog voice message processing) for another
(Pucci’s analog voice message processing) to obtain predictable results. Digital
storage of voice message data, in the form of a file or otherwise, was well known
in the art as taught by Pucci and Kepley. Further, Pucci discloses that data can be
stored within an ION node as “traditional file system data.” (Pucci, p. 221.) For
example, Pucci discloses that the local ION storage (“the data storage memory”)
“may consist of file system data.” (Pucci, p. 222). Thus, substitution of Kepley’s
analog voice message processing (which includes storage of the digitized voice
message as a file) for Pucci’s analog voice message processing (which includes
digital conversion but lacks file storage) could have been readily implemented by a
POSITA using Pucci’s file system. The results of such substitution would have
been predictable because the digitized voice message data would have been stored
like any other file in Pucci’s file system.
- 51 -
4. The combination of Pucci, Kepley, and Schmidt teaches the automatic recognition limitation of independent claim 1.
98. For my analysis, I utilize the following outline provided to me by
counsel, which describes a data generation process limitation [1F] as including
three components:
[1F] wherein the processor also is adapted to be involved in
[1F.1] an automatic recognition process of a host computer in which,
when the i/o port is operatively interfaced with a multi-purpose
interface of the host computer, the processor executes at least one
instruction set stored in the program memory and thereby causes at
least one parameter identifying the analog data generating and
processing device, independent of analog data source, as a digital
storage device instead of as an analog data generating and processing
device to be automatically sent through the i/o port and to the multi-
purpose interface of the computer (referred to as the “the automatic
recognition operation”)
[1F.2] (a) without requiring any end user to load any software onto
the computer at any time and (b) without requiring any end user to
interact with the computer to set up a file system in the ADGPD at
any time, (referred to as the “end user requirements”)
- 52 -
[1F.3] wherein the at least one parameter is consistent with the
ADGPD being responsive to commands issued from a customary
device driver; wherein the at least one parameter provides information
to the computer about file transfer characteristics of the ADGPD
(referred to as the “automatic recognition data requirements”).
I address each of these components below.
a) The combination of Pucci, Kepley, and Schmidt discloses the claimed automatic recognition operation [1F.1].
99. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “wherein the processor also is adapted to be involved in an automatic
recognition process of a host computer in which, when the i/o port is operatively
interfaced with a multi-purpose interface of the host computer.” I first note that the
’437 patent does not provide an explicit definition for “automatic recognition
process.” Instead, based on the “in which” part that follows the term, the claim
appears to rely on the subsequent language to provide the proper claim scope for
the term. In other words, I understand that the following claim language describes
an “automatic recognition process”:
(1) when the i/o port is operatively interfaced with a multi-purpose interface of the host computer, (2) the processor executes at least one instruction set stored in the program memory and thereby causes at least one parameter identifying the analog data generating and processing device, independent of analog data source, as a digital storage device instead of as an analog data
- 53 -
generating and processing device to be automatically sent through the i/o port and to the multi-purpose interface of the computer.
(1) I/O port operatively interfaced with a multi-purpose interface of the host computer
100. I first address the first sub-limitation directed to the i/o port. In Pucci,
the ION node’s SCSI interface chips (“the i/o port”) interfaces with an individual
workstation (“host computer”) via a SCSI bus. (Pucci, p. 222, Figure 2.) Although
Pucci teaches that a SCSI “host controller” resides within the host system (Pucci,
pp. 238–239, section titled “What is SCSI?”), Pucci does not explicitly disclose
how the SCSI bus connects to a workstation. However, Schmidt discloses that “[a]
computer system is connected to the SCSI bus through a host adapter.” (Ex. 1007,
Schmidt, p. 79.) Such adapters “often reside directly on the mother board of
workstations and modern personal computers, in which case they are referred to as
embedded host adapters.” (Schmidt, p. 79.) A POSITA would therefore have
understood that the individual workstations in Pucci included such an SCSI
adapter.
101. SCSI is a well-known “device-independent” standard that allows “a
variety of devices to be linked to a computer system,” where the “computer system
is connected to the SCSI bus through a host adapter.” (Schmidt, p. 79.) Such
adapters “often reside directly on the mother board of workstations and modern
personal computers, in which case they are referred to as embedded host adapters.”
- 54 -
(Schmidt, p. 79.) Devices of different types, such as hard disks and printers, may
be connected to the computer system. (Schmidt, p. 79, v.) Therefore, SCSI is a
multi-purpose interface. Furthermore, the ’437 patent acknowledges that SCSI is a
well-known multi-purpose interface. (’437 patent, 3:51–56.) As such, the SCSI
interface in Pucci’s workstation is a multi-purpose interface.
(2) “at least one parameter identifying the analog data generating and processing device.”
102. Pucci’s ION node emulates a disk drive: “A workstation sees ION as
though it were physically a local disk drive (an ION drive).” (Pucci, p. 220.)
Specifically, “[s]oftware running within the ION system mimics the behavior of a
conventional device, providing the workstation with a peripheral that it knows how
to deal with.” (Pucci, p. 220.) Thus, Pucci teaches that the ION identifies itself as a
disk drive, and that the workstation recognizes the ION node as a disk drive.
103. It was well known at the earliest possible priority date of the ’437
patent that SCSI bus initialization between a host computer and a peripheral device
included the peripheral device identifying its device class and type to the host
computer. Schmidt provides the details of SCSI bus initialization. For reasons
discussed below, the five-bit “device class” or “peripheral device type” of the SCSI
protocol is the recited “at least one parameter identifying the analog data
generating and processing device” and it is sent “through the i/o port and to the
multi-purpose interface of the computer.”
- 55 -
104. Schmidt discloses a “recognition process of a host computer in
which… at least one parameter identifying… as a digital storage device … is sent
through the i/o port and to the multi-purpose interface of the computer.” In SCSI,
as described by Schmidt, “[t]here are a number of commands that are common to
all device types” and the implementation of these commands “is mandatory.”
(Schmidt, p. 138.) Among these mandatory commands is the “inquiry” command.
(See Schmidt, p. 138, Table 12.10 (showing the INQUIRY command as Type
“M”); p. 137, Table 12.8 (showing Type M commands as “Mandatory” commands
that “must be implemented”). The SCSI INQUIRY command “can be used to
learn… the device type,” which is also called the “device class” or “peripheral
device type.” (Schmidt, p. 138; see also Table 12.12, pp. 139–40.)
105. Pucci discloses a SCSI bus for connecting ION node to a workstation
(Pucci, Figure 2, p. 222.). Since both the ION node and workstation would have
supported the mandatory SCSI initialization process, a POSITA would have found
it obvious to use Schmidt’s SCSI device recognition process in Pucci’s ION node
to enable device identification of the ION node using routine SCSI signaling. And,
because all SCSI devices must support the INQUIRY command, it would have
been obvious to a POSITA that Pucci’s ION node, when connected to the host via
the SCSI connecter, would receive a SCSI INQUIRY command issued from the
external host computer such as disclosed by Schmidt. The SCSI INQUIRY
- 56 -
command would be received by the SCSI interface chip dedicated to the SCSI
interface between the ION node and the workstation. (Pucci, p. 222, Figure 2.)
106. Schmidt provides details about a device’s response to the INQUIRY
command. (Schmidt, pp. 139–41.) In response to an INQUIRY command, a SCSI
device provides a response including a five-bit “device class” or “peripheral device
type.” (Schmidt, pp. 139–40; see also p. 132 (“Table 12.1 shows an example of the
device types returned from an INQUIRY command”).) The five-bit “device class”
or “peripheral device type” in the response is the recited “at least one parameter
identifying the analog data generating and processing device” and it is sent
“through the i/o port and to the multi-purpose interface of the computer.” One
device class is the (hard) “disk drive” class. (Schmidt, p. 133, Table 12.1.) Further,
because Pucci’s ION node is designed to emulate a hard disk, the POSITA would
also have found it obvious to have Pucci’s ION node returns the (hard) “disk
drive” class (purposely misidentifying itself as a member of the hard disk class,
even though it is not itself a hard disk) in its response to the INQUIRY command
from workstation 21. One device class is the “hard disk” class. (Schmidt, p. 133,
Table 12.1.) Because Pucci’s ION node is designed to emulate a disk drive, a
POSITA would also have found it obvious to have the ION node return the “hard
disk” class (identifying a “digital storage device”) in its response to the INQUIRY
- 57 -
command from the workstation. Thus, the response parameter identifies the ION
node, not as an ION node but as a “hard disk.”
107. Based on the SCSI disclosures in Pucci and the well-understood
principles of the SCSI protocol, a POSITA would interpret that the combination of
Pucci, Kepley, and Schmidt discloses the parameter “identifying the analog data
generating and processing device… as a digital storage device instead of as an
analog data generating and processing device.” In the combination of Pucci and
Schmidt, the “at least one parameter” would be sent by the SCSI interface chip
dedicated to the SCSI interface between the ION node and the workstation. (Pucci,
p. 222, Figure 2.) Accordingly the combination of Pucci, Kepley, and Schmidt
discloses the parameter “identifying the analog data generating and processing
device… as a digital storage device instead of as an analog data generating and
processing device.”
(3) “independent of [the] analog data source.”
108. The response parameter is also “independent of [the] analog data
source.” Schmidt stresses that the SCSI interface is a “device independent I/O
bus” that “makes it possible to write device drivers for a device without knowing
device specific details.” (Schmidt, p. 79 (emphasis added).) Moreover, as I
outlined above, the ION node identifies itself as a disk drive to the workstation.
Because the response parameter identifies the ION node as a hard disk regardless
- 58 -
of the analog data source within the ION node, the identification of the ION node
is “independent” of the ION node’s an “analog data source.”
109. Additionally, the SCSI initialization process disclosed in Schmidt is
automatic. When a host computer having a SCSI bus is turned on, SCSI bus
initialization occurs automatically. Specifically, the host computer’s SCSI
controller automatically issues the INQUIRY command to discover any SCSI
peripheral devices attached to the SCSI bus. No user action, beyond powering the
host computer, is required to initiate the SCSI initialization process. Given that
Pucci’s ION node is a SCSI device, a POSITA would have found it obvious to
configure the ION node to respond automatically to a SCSI inquiry command from
the host computer as described in Schmidt. Moreover, because the ION node
emulates a hard disk, it would have also been obvious to a POSITA to have the
ION node automatically return the “hard disk” class in its response to the
conventional SCSI INQUIRY command.
(4) “processor… adapted to be involved in [the] automatic recognition process.”
110. Pucci’s “processor” (the Application CPU and the SBC CPUs) “is
adapted to be involved in [the] automatic recognition process.” As discussed
above, in the combination of Pucci and Schmidt, the ION node automatically sends
the “at least one parameter identifying the analog data generating and processing
device” through the SCSI interface (“the i/o port”), over the SCSI bus, to the
- 59 -
corresponding SCSI interface of the specific workstation (“the multi-purpose
interface of the computer”). (Pucci, p. 222, Figure 2.) The SCSI interface between
the ION node and the workstation is managed by the corresponding SBC. “An
SBC is dedicated to each workstation connection, primarily because most hosts
insist on using the same SCSI bus address. Each SBC contains its own SCSI
interface chip.” (Pucci, p. 222.) As I describe above, a CPU is “[t]he computational
and control unit of a computer.” (Microsoft Computer Dictionary, p. 84.) Based on
the well-understood definition of CPU, a POSITA would appreciate that the SBC
CPU (“the processor”) would be involved in the management of the SCSI
interface, and particularly, that this management would involve controlling the
SCSI interface chip, including during the automatic recognition process.
(5) “executes at least one instruction set stored in the program memory.”
111. It is also my opinion that the combination of Pucci, Kepley, and
Schmidt, further discloses “the processor executes at least one instruction set
stored in the program memory and thereby causes at least one parameter
identifying the analog data generating and processing device… as a digital storage
device instead of as an analog data generating and processing device to be
automatically sent through the i/o port and to the multi-purpose interface of the
computer.”
- 60 -
112. Pucci’s Application CPU and SBC CPUs are a “processor.” A
POSITA would understand that Pucci’s Application CPU and SBC CPUs would be
involved in all operations of the ION node. Therefore, a POSITA would
understand that Pucci’s Application CPU and SBC CPUs are involved in
controlling operations of Pucci’s ION node, including the automatic recognition
process.
113. While not expressly stated by Pucci, a POSITA would understand that
Pucci’s Application CPU and SBC CPUs execute at least one instruction set stored
in a program memory in order to provide the SCSI signals between the ION node
to a workstation during the SCSI initialization process described by Schmidt.
Instructions are a fundamental element of any computer system that drive the
function and operation of the computer system and its components. (Schmidt, p. 3
(“The CPU executes the instructions of a program, which, along with the necessary
data, must reside in main memory at execution time”); Microsoft Computer
Dictionary, p. 84 (“The central processing unit… has the ability to fetch, decode,
and execute instructions”).)
114. With regard to emulation in particular, it would have been well known
in the art that an emulator executes software instructions in order to send the SCSI
signals from Pucci’s ION node so that a connected workstation may identify the
ION node as a disk drive. For example, Maclean discloses an emulator “that will
- 61 -
respond exactly like [an] original floppy disk controller” in order to “exactly
simulate[] the floppy disk controller.” (Maclean, 7:49–51; 7:60–61.) Maclean
disclosed mass storage device emulation in 1983, more than a decade before the
earliest priority date of the ’437 patent. In other words, like Pucci’s ION node,
which acts as an emulator, Maclean discloses an emulator that simulates a mass
storage device: Pucci emulates a hard disk drive whereas Maclean focuses on
simulating a floppy disk drive.
115. Maclean discloses that “[t]he characteristics and responses of a mass
storage device are simulated by processing commands sent by the microprocessor
and presenting the status to the microprocessor.” (Maclean, 3:45-50.) Maclean
further discloses that “a microprocessor [in the mass storage controller] will
normally incorporate ROM 22 (which will contain the firmware for the
controller).” (Maclean, 5:43-45.) “It is the installed software present in ROM 22
and the control circuits 26 that configure this computer for this particular
application.” (Maclean, 5:60-63.) Maclean further specifies that “the
microprocessor executes instructions to initialize hardware and to start
communication network functions.” (Maclean, 8:24-26.) The microprocessor
executes additional instructions to response to requests from the host computer.
(Maclean, 8:29-41.) Based on these disclosures in Maclean, a POSITA would
conclude that, in order for the emulator to simulate floppy disks, the emulator
- 62 -
executes software or firmware, which is stored in ROM. Accordingly, a POSITA
would have understood that Pucci’s Application CPU and SBC CPUs “execute[] at
least one instruction” as per the claim, in order to provide the requisite SCSI
signals, such as the device class of a hard disk, to workstation. The SCSI device
class which is returned by the ION node identifies itself “as a digital storage device
instead of as an analog data generating and processing device.”
b) The combination of Pucci, Kepley, and Schmidt teaches the end user requirements.
116. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses causing at least one parameter identifying the analog data generating and
processing device as a digital storage device instead of as an analog data
generating and processing device to be automatically sent through the i/o port and
to the multi-purpose interface of the computer “without requiring any end user to
load any software onto the computer at any time.” I note here that the “without
requiring” language appears to modify the limitation regarding the automatic
sending of the parameter “through the i/o port and to the multi-purpose interface of
the computer.” In other words, the “without requiring” language clarifies the
automatic nature of how the parameter is sent through the i/o port and to the multi-
purpose interface of the computer. Therefore, in order to meet the claim language
“automatically sent,” the parameter must be sent at least “without requiring any
end user to load any software onto the computer at any time.”
- 63 -
117. In the combination of Pucci, Kepley, and Schmidt, no end user is
required “to load any software onto the computer at any time” for the processor to
execute the automatic recognition process because the recognition process of
Pucci, Kepley, and Schmidt utilizes existing device drivers. The identification
information is sent from the ION node to the workstation via a routine SCSI
initialization process, and SCSI control signals communicated during the process
are issued by SCSI devices running existing SCSI drivers.
118. Pucci states that computer systems “can suffer from…[c]onstantly
upgrading local workstation based device drivers to coexist with operating system
released.” (Pucci, p. 218.) This criticism is mirrored in the ’437 patent,
admonishing “very sophisticated drivers which are prone to malfunction.” (’437
patent, 1:35–38.)
119. To overcome this issue, Pucci’s system allows for “each workstation
[to] access[] ION using its local disk system, which is a stable, well-defined
interface [] and there is no need to change vendor supplied host system software.”
(Pucci, pp. 219-220.) A POSITA would conclude that the goal of Pucci’s invention
was to avoid the necessity of preparing new device drivers for peripheral devices
by reusing existing device drivers for communicating with new peripheral devices.
120. Pucci’s goal is consistent with its use of the SCSI standard (especially
SCSI-2) (Pucci, Figure 2), which allows for standardized command sets for
- 64 -
specific device types. The SCSI standard therefore allows for different devices to
be attached to the SCSI bus without requiring the development of different drivers.
(Schmidt, pp. 83–84.) Furthermore, a POSITA would understand that Pucci’s use
of SCSI would allow Pucci’s invention to benefit from these features of SCSI. In
other words, in the combined system of Pucci, Kepley, and Schmidt, the device
type information is sent from Pucci’s ION workstation to a connected workstation
via routine SCSI commands over a SCSI bus. Accordingly, an end user utilizing
Pucci’s invention would not need to load software to enable the transmission of the
device information.
121. It is also my opinion that the combination of Pucci, Kepley, and
Schmidt discloses “caus[ing] at least one parameter identifying the analog data
generating and processing device as a digital storage device instead of as an analog
data generating and processing device to be automatically sent through the i/o port
and to the multi-purpose interface of the computer… without requiring any end
user to interact with the computer to set up a file system in the ADGPD at any
time.” I note here that the “without requiring” language appears to modify the
limitation regarding the automatic sending of the parameter “through the i/o port
and to the multi-purpose interface of the computer.” In other words, the “without
requiring” language clarifies the automatic nature of how the parameter is sent
through the i/o port and to the multi-purpose interface of the computer. Therefore,
- 65 -
in order to meet the claim language “automatically sent,” the parameter must be
sent at least “without requiring any end user to interact with the computer to set up
a file system in the ADGPD at any time.”
122. As discussed above, the information identifying the ION node as a
hard disk is sent to the workstation using a routine SCSI initialization process
implemented by built-in SCSI devices that run existing SCSI drivers. In the context
of SCSI, an INQUIRY command may be used to discover the type of device that is
connected to a host computer. (Schmidt, 133, Table 1 at 133.) The SCSI INQUIRY
command is mandatory and “must be implemented.” (Schmidt, Table 12.8 at 137,
Table 12.10 at 138.) This command is typically sent by a device, called an initiator,
to connected devices, called targets, through the initiator’s SCSI bus. The
identification process (i.e., when the initiator sends the INQUIRY command),
typically occurs “after a reset or power-up condition to determine the device types
for system configuration.” (SCSI Spec, p. 96.) Therefore, initiators, such as Pucci’s
workstation, will recognize the types of devices that are connected to it, upon
booting of the targets.
123. In the combination of Pucci, Kepley, and Schmidt, the automatic
recognition process occurs before the file system is prepared in Pucci’s ION node
because SCSI bus initialization occurs upon booting of systems including devices
connected to the SCSI bus. The role of the file system is to support emulation only
- 66 -
after the device types of SCSI devices, such as Pucci’s ION node, have been
identified. Transmission of the INQUIRY command is an essential step of the
initialization process because initiators must know the device types of devices
connected to the SCSI bus prior to transmitting other commands. (SCSI Spec., p.
6.) This is because devices have device-type specific commands and the initiator
must be aware of which commands are compatible with the connected devices.
(SCSI Spec., p. 6.) For example, disk drives will have different commands than
printers because they process data differently. (Schmidt, p. 122.) The initialization
process allows the initiator to “identify the type of attached SCSI-2 device, the
characteristics of the device, and all the changeable parameters supported by the
device.” (SCSI Spec., p. 6.)
124. A POSITA would understand that Pucci’s disclosure of implementing
the SCSI standard between the ION node and workstation requires these devices to
support standard SCSI commands, such as the INQUIRY command. In Pucci’s
system, a connected workstation, acting as an initiator, must identify the device
type of an ION node, acting as a target, prior to the workstation being able to send
other commands. In this regard, Pucci discloses that the “workstation sees ION as
though it were physically a local disk drive (an ION drive).” (Pucci, p. 220.)
Therefore, a POSITA would understand that Pucci’s ION node would respond to
the INQUIRY command using the appropriate device type identifier to signal this
- 67 -
device type to workstation 21. The SCSI standard defines a (hard) “disk drive”
class that is included in responses to INQUIRY commands. (Schmidt, p. 133,
Table 12.1.)
125. Typically, the INQUIRY command sequence (request and response)
between initiator and target occurs upon power up or booting of the initiator and/or
the target. (SCSI Spec., p. 85.) The INQUIRY command sequence occurs without
user intervention (e.g., automatically at boot time) and without needing to establish
a file system on the ION node, and for the reasons I discuss above, is necessary for
the initiator to direct operations of target devices. Accordingly, an end user is not
required to set up a file system in the ION node to enable this routine SCSI
process.
c) The combination of Pucci, Kepley, and Schmidt teaches the automatic recognition data element requirements.
126. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “at least one parameter identifying the analog data generating and
processing device,” “wherein the at least one parameter is consistent with the
ADGPD being responsive to commands issued from a customary device driver,”
and “provides information to the computer about file transfer characteristics of the
ADGPD.”
127. As part of the automatic recognition process, the identification
information sent in response to a SCSI INQUIRY command identifies the ION
- 68 -
node as a hard disk to the workstation. Pucci further discloses that the ION node
connects to the workstation via the SCSI “disk interface” that maps or responds to
“simple disk read and write accesses.” (Pucci, p. 217.) These read and write
accesses are hard disk commands issued from a device driver in a workstation and
issued to the ION node. (Schmidt, p. 165.) Thus, the ION node is “responsive to
commands issued from” a hard disk driver.
128. Pucci acknowledges the benefits of using a customary device driver.
“Additionally, since the hardware dependent A-to-D code remains within ION, no
driver changes to the host’s operating system are necessary upon workstation
upgrade.” (Pucci, p. 231 (emphasis added).)
129. Because a hard disk is a customary and conventional device within
computer systems, a hard disk driver was a “customary device driver” in a
computer system prior to the earliest possible priority date of the ’437 patent. For
example, it was well known in the art that communicating with file systems of disk
drives utilized a disk drive driver implemented within the operating system of the
computer. (Silberschatz, p. 385 (“The basic file system needs only to issue generic
commands to the appropriate device driver to read and write physical blocks on the
disk”); p. 384 (describing device drivers as being part of the “lowest level” of an
operating system’s file system).) Based on this understanding of hard disks, the
identification of the ION node as a hard disk in the response to the SCSI INQUIRY
- 69 -
command “is consistent with the ADGPD being responsive to commands issued
from a customary device driver.”
130. It is also my opinion that the combination of Pucci, Kepley, and
Schmidt discloses “wherein the at least one parameter provides information to the
computer about file transfer characteristics of the ADGPD.” Pucci discloses that
the data on the ION node can be “traditional file system data.” (Pucci, p. 221.)
Specifically, in combination with Kepley, the A-to-D converted data is stored as a
file in Pucci’s ION node. (See Section VIII.A.3.b above.) Pucci also discloses that
“[a] workstation sees ION as though it were physically a local disk drive... [and
that] [s]oftware within the ION system mimics the behavior of a conventional
device, providing the workstation with a peripheral that it knows how to deal
with.” (Pucci, p. 220) Thus, when the ION node identifies itself as a hard disk, the
workstation recognizes the ION node as a conventional disk drive. A conventional
disk drive was known to provide file transfer capabilities before the earliest
priority date of the ’437 patent. “For each device class SCSI defines a model, a
command set and parameter pages for configuring the device.” (Schmidt, p. 132.)
For example, disk drives include standard SCSI commands such as “Read” and
“Write.” (Schmidt, p. 164, Table 13.2.) These standard commands within the
command set provide information about “file transfer characteristics” of ION node
because the commands are involved in file transfer operations of ION node. A
- 70 -
POSITA would understand, for example, that users or applications that wish to
transfer files often have to have information about the files’ transfer characteristics,
such as the name of the file that is used to access the file.
5. The combination of Pucci, Kepley, and Schmidt teaches the file transfer limitation of independent claim 1.
131. For my analysis, I utilize the following outline provided to me by
counsel, which describes a data generation process limitation [1G] as including
two separate components:
[1G] wherein the processor is further adapted to be involved in an automatic
file transfer process in which,
[1G.1] when the i/o port is operatively interfaced with the multi-
purpose interface of the computer, and after the at least one parameter
has been sent from the i/o port to the multi-purpose interface of the
computer, the processor executes at least one other instruction set
stored in the program memory to thereby cause the at least one file of
digitized analog data acquired from at least one of the plurality of
analog acquisition channels to be transferred to the computer using the
customary device driver for the digital storage device (referred to as
the “automatic file transfer process requirements”)
[1G.2] while causing the analog data generating and processing
device to appear to the computer as if it were the digital storage
- 71 -
device without requiring any user-loaded file transfer enabling
software to be loaded on or installed in the computer at any time
(referred to as the “emulation and end user requirement”).
I address each of these two components below.
a) The combination of Pucci, Kepley, and Schmidt teaches the recited automatic file transfer process.
132. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “wherein the processor is further adapted to be involved in an automatic
file transfer process in which, when the i/o port is operatively interfaced with the
multi-purpose interface of the computer, and after the at least one parameter has
been sent from the i/o port to the multi-purpose interface of the computer, the
processor executes at least one other instruction set stored in the program memory
to thereby cause the at least one file of digitized analog data acquired from at least
one of the plurality of analog acquisition channels to be transferred to the computer
using the customary device driver for the digital storage device.” I first note that
the ’437 patent does not provide an explicit definition for “automatic file transfer
process.” Instead, based on the “in which” part that follows the term, the claim
appears to rely on the subsequent language to provide the proper claim scope for
the term. In other words, I understand that the following claim language describes
an “automatic file transfer process”:
- 72 -
when the i/o port is operatively interfaced with the multi-purpose interface of the computer, and after the at least one parameter has been sent from the i/o port to the multi-purpose interface of the computer, the processor executes at least one other instruction set stored in the program memory to thereby cause the at least one file of digitized analog data acquired from at least one of the plurality of analog acquisition channels to be transferred to the computer using the customary device driver for the digital storage device. 133. The combination of Pucci, Kepley, and Schmidt discloses a file
transfer process in which “at least one file of digitized analog data acquired from
at least one of the plurality of analog acquisition channels [is] transferred to the
computer using the customary device driver for the digital storage device.” As I
described above, the combination of Pucci, Kepley, and Schmidt teaches “the
processed and digitized analog data is stored in the data storage memory as at
least one file of digitized analog data.” The workstation can request the digitized
analog data from the ION node. Specifically, “[t]he part of the application that runs
on the workstation requests converted data in response to a start/stop signal from
other system hardware, which indicates the beginning and end of a recording
session.” (Pucci, p. 232.) A task of the A-to-D application residing on the ION
node “interfaces to the SCSI bus and returns [the] data to the workstation when
requested.” (Pucci, p. 232.)
134. In the combination of Pucci and Kepley, the digitized data is stored as
a file in the data storage memory of the ION node. (See Section VIII.A.3.b.) The
workstation interacts with the ION node as a conventional disk drive that “it knows
- 73 -
how to deal with.” (Pucci, p. 220) Accordingly, a POSITA would have found it
obvious to have the workstation read the digitized data file from the ION node in
the same way it would read a file from a conventional disk drive using, for
example, standard SCSI commands. Pucci discloses that data can be stored within
an ION node as “traditional file system data.” (Pucci, p. 221.) Thus, the
workstation is able to read files from the ION node. And because the workstation
handles the ION node like a conventional disk drive, a standard hard disk device
can be used to read the file. Thus, the file is transferred using a “customary device
driver for the digital storage device.”
135. Moreover, the automatic recognition process of Pucci, Kepley, and
Schmidt occurs when the ION node is attached to the workstation using the SCSI
bus through the use of standard SCSI commands. Based on the well-understood
principles of SCSI, a POSITA would understand that a standard SCSI device type
is returned from an ION node to a connected workstation. According to well-
understood principles of SCSI, once identified as a disk drive, an ION node may
communicate with the workstation. Accordingly, any additional operations
between an ION node and the connected workstation, including file transfer,
necessarily occur after the device type has been sent to the workstation.
136. With the ION node acting like a hard disk in response to the file
transfer request, the transfer requires no user action on the ION node and is
- 74 -
automatic. Based on Pucci’s disclosure of utilizing SCSI, a POSITA would
understand that standard SCSI commands are used to communicate between ION
node and the connected workstation. Because Pucci’s ION node is identified as a
hard disk, the ION node would be responsive to standard SCSI commands for disk
drives. An ION node, acting as a SCSI target, would automatically respond to
commands from a connected workstation without any user action. The SCSI
response occurs automatically in response to a SCSI command.
137. The “automatic file transfer process” in the combined system of
Pucci, Kepley, and Schmidt occurs “when the i/o port is operatively interfaced
with the multi-purpose interface of the computer, and after the at least one
parameter has been sent from the i/o port to the multi-purpose interface of the
computer.” As I described above, file transfer operations will occur only after the
INQUIRY command sequence between Pucci’s ION node and a connected
workstation, which allows workstation to identify the ION node as a disk drive.
Because the INQUIRY command sequence involves the transmission of at least
one parameter, such as the SCSI device type identifying Pucci’s ION node as a
disk drive, any operations, including a file transfer process, necessarily occurs after
“the at least one parameter has been sent from the i/o port to the multi-purpose
interface of the computer.”
- 75 -
138. Moreover, Pucci’s Application CPU and SBC CPUs are involved in
this automatic file transfer process because it is well known that CPUs are “[t]he
computational and control unit of a computer.” (Microsoft Computer Dictionary, p.
84.). In particular, a task of the portion of the A-to-D application residing on the
ION node is to “interface[] to the SCSI bus and return[] data to the workstation
when requested.” (Pucci, p. 232.) Further, file transfers would use the SBC CPU
that interfaces the ION node to the workstation via SCSI. (Pucci, p. 222, Figure 2.)
A POSITA would appreciate that this application task would execute on the
Application CPU based on the well-understood principles of CPUs and the central
role they play in the operations of a computer.
139. A POSITA would understand that execution of these tasks by
Application CPU and SBC CPUs of Pucci’s ION node would involve the
execution of at least one other instruction set that is stored in memory. Maclean
supports this understanding. “The characteristics and responses of a mass storage
device are simulated by processing commands sent by the microprocessor and
presenting the status to the microprocessor.” (Maclean, 3:45-49.) “Dedicated
control processor 4 is responsible for receiving commands from the host system 8
via the system interface 2, and performs the required operations to simulate the
execution of the commands…then returning status and optional to the computer.”
(Maclean, 5:34-40.) Based on these disclosures in Maclean, a POSITA would
- 76 -
conclude that Maclean discloses an emulator comprising a processor that simulates
a floppy disk drive by processing standard floppy disk commands sent by a
computer. These commands include an “‘INPUT’ command from the host
microcomputer” which causes “microprocessor 25 [to] execute[] instructions from
ROM 22 to transmit a RECEIVE command…and set Random Access Memory
(RAM) 24 ready to receive data from communication network.” (Maclean, 8:35-
41.) Based on this command, data transfer is performed: “the data is formatted to
the form recognizable by the host system 2 and then output to the host system
through the system interface 2.” (Maclean, 8:41-44.) Another example is “an
output command” which causes “microprocessor 25…[to] execute[] instructions
resident in the ROM 22 to transmit a TRANSMIT command.” (Maclean, 8:53-56.)
The microprocessor then “executes instructions to transmit data to the
communication network.” (Maclean, 8:59-61.) Thus, Maclean discloses
conventional operations for carrying out commands by the processor of emulator
involves the execution of instructions associated with those commands. “For a
computer to do its job of executing programs, the programs must be in main
memory.” (Silberschatz, p. 37.) Accordingly, a POSITA would further understand
that instructions are stored in “program memory,” which is a well-known
implementation in the art.
- 77 -
b) The combination of Pucci, Kepley, and Schmidt discloses the emulation and user requirement component of the file transfer limitation.
140. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses that the processor causes the automatic file transfer to occur “while
causing the analog data generating and processing device to appear to the computer
as if it were the digital storage device.” Pucci’s ION node “appears to the
workstation as a large, high speed disk device.” (Pucci, p. 217.) Specifically,
“[s]oftware running within the ION system mimics the behavior of a conventional
device, providing the workstation with a peripheral that it knows how to deal
with.” (Pucci, p. 220.) Thus, the ION node appears “as if it were the digital storage
device” during the file transfer process.
141. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses that the processor causes the automatic file transfer to occur “without
requiring any user-loaded file transfer enabling software to be loaded on or
installed in the computer at any time.” One of the stated benefits of Pucci’s
invention is that “each workstation accesses ION using its local disk system, which
is a stable, well-defined interface [and] there is no need to change vendor supplied
host system software.” (Pucci, pp. 219-220.) Pucci acknowledges the benefits of
using existing device drivers. “Additionally, since the hardware dependent A-to-D
code remains within ION, no driver changes to the host’s operating system are
- 78 -
necessary upon workstation upgrade.” (Pucci, p. 231 (emphasis added).) Pucci’s
specific goal of achieving communication without the “need to change vendor
supplied host system software” would inform a POSITA that an existing driver is
utilized to communicate with the ION node. This understanding is supported
elsewhere in Pucci: “[s]oftware running within the ION system mimics the
behavior of a conventional device, providing the workstation with a peripheral that
it knows how to deal with.” (Pucci, p. 220.) In other words, Pucci’s system allows
a workstation to use existing drivers, e.g., a driver for a “local disk system,” to
communicate with the ION node. As such, a file can be read from the ION node in
the same way as it would be read from the conventional disk drive.
B. The combination of Pucci, Kepley, and Schmidt renders claim 4 obvious.
142. It is my opinion that Pucci, Kepley, and Schmidt discloses that the
“analog data generating and processing device… is configured to allow at least
one analog source to be attached thereto and detached therefrom.” Pucci describes
that “ION provides the platform for analog to digital (A-to-D) services for a voice
messaging application of a prototype programmable telephone switch system
called GARDEN.” (Pucci, p. 231.) It is well known to a POSITA that “a standard
telephone line [] carries continuously varying (analog) signals.” (Microsoft
Computer Dictionary, p. 27 (definition of “analog line”).) Based on this
- 79 -
understanding of voice data, the telephone switch system provides analog data to
ION for A-to-D conversion and is “at least one analog source.”
143. The ION system is designed to be used with a variety of applications
(e.g., audio mix application, voice messaging application). (Pucci, pp. 217–218,
229.) These applications, including the programmable telephone switch system, are
connected to the ION node through a SCSI connection. (Pucci, pp. 231-232.) Pucci
further explains, with regard to the conventional SCSI hardware interface, that
features for “disconnect[ing] and reconnect[ing] from the [SCSI] bus” are
important to “improve [SCSI] bus utilization.” (Pucci, p. 225.) “Individual SCSI
tasks manage their own disconnect/reconnect behavior on the SCSI bus on a device
by device basis.” (Pucci, p. 223.) “A facility known as disconnect/reconnect
allows better utilization of the SCSI bus. ... the target can disconnect from the
SCSI bus, making it available for other targets, and reconnect when the data are
ready.” (Pucci, p. 239.) Based on Pucci’s disclosure of utilizing standard SCSI
connections between the ION node and the analog source (e.g., the telephone
switch system), and that SCSI supports disconnecting and reconnecting a device on
a SCSI bus, a POSITA would appreciate that the telephone switch system can be
“attached... and detached” from the ION node. Such configuration furthers Pucci’s
intended use of the ION node with a variety of different applications.
- 80 -
C. The combination of Pucci, Kepley, and Schmidt renders claim 5 obvious
144. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “the analog data generating and processing device is attached directly to
at least one analog source.” The combination of Pucci, Kepley, and Schmidt
teaches this claim limitation. As discussed in claim 4 above, the ION node can be
connected to a telephone switch system, which is “at least one analog source”
because it was well known that voice data is a type of analog data. Pucci explains
that the telephone switch system is connected to the A-to-D conversion services
within the ION system. “ION provides the platform for analog to digital (A-to-D)
services for a voice messaging application of a prototype programmable telephone
switch system called GARDEN.” (Pucci, p. 231.) “[A]n ION node [] contains
single board computers and other peripheral interfaces.” (Pucci, p. 220, Figure 1
caption.) Based on a POSITA’s understanding of voice data and Pucci’s own
disclosure of A-to-D converters within the ION system, a POSITA would conclude
that the telephone switch system (an “application peripheral”) would be coupled to
the A-to-D converters of the ION node. (Pucci, p. 231, Figure 2.) Thus, the
telephone switch would be “attached directly” to the ION node.
- 81 -
D. The combination of Pucci, Kepley, and Schmidt renders claim 6 obvious.
145. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “the analog data generating and processing device is a stand alone [sic]
device.” Pucci’s ION node connects to the workstation through a SCSI bus cable.
“SCSI-2 can use optional secondary cables.” (Pucci, pp. 217, 238, 240.)
146. A POSITA would also understand that standard SCSI connects
standalone devices using a physical cable. “SCSI [is] designed to make it possible
to use the same cables. The A cable is a 50-pin cable while the B cable is 68-pin.
Either implementation may use either ribbon cable or twisted-pair... Cables should
have an impedance ... When Fast SCSI is being used ... the cable requirements are
somewhat stricter. The cable should be shielded.” (Schmidt, p. 96, section titled
“Cables and connectors”.)
147. Accordingly, the ION node is physically separate and apart from, and
not permanently attached to, the workstation and thus is a stand alone device.
(Pucci, p. 220, Figure 1 and p. 222, Figure 2.)
E. The combination of Pucci, Kepley, and Schmidt renders claim 9 obvious.
148. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “at least one additional analog data generating and processing device
coupled to the computer in parallel and each analog data generating and processing
- 82 -
device attached to a differen[t] analog data source.” Specifically, Pucci discloses
that “ION configurations are expandable and sharable as needs dictate.” (Pucci, p.
220.) For example, “expansion is possible by using bus repeaters and local area
networks to interconnect multiple ION nodes together.” (Pucci, p. 220
(emphasis added).) A POSITA would understand that in such a configuration with
multiple interconnected ION nodes, “at least one additional” ION node would be
“coupled to the [workstation] in parallel.”
149. This understanding of Pucci is buttressed by Pucci’s use of the SCSI
standard to connect to the ION node. (Pucci, Figure 2.) SCSI was well known as of
the earliest effective priority date of the ’437 patent to allow for multiple devices to
be connected to a computer through SCSI buses. (Schmidt, p, 79.) Sample
configurations, which include multiple different peripheral devices coupled in
parallel to a host computer, are shown below:
- 83 -
(Schmidt, p. 90.)
150. Given the above knowledge of SCSI buses and their configurations, it
would have been obvious to a POSITA to connect, or couple, in parallel at least
two ION nodes, or “ADGPDs” to a SCSI bus. Such a configuration would be an
example of simply substituting known elements, such as a tape drive and CD-ROM
drive in the figure above, for another known element, such as two ION nodes to
obtain predictable results. These predictable results would entail a SCSI
configuration with two ION nodes coupled in parallel to a host computer to enable
parallel operations, which is consistent with Pucci’s stated goal discussed above.
151. Finally, Pucci explains that each ION node can be coupled to a
different analog application (e.g., audio mix application, telephone switch
application). (Pucci, pp. 217-218, 229.) Because each ION node can be coupled to
- 84 -
different analog applications, each ADGPD is “attached to a different analog
source.”
F. The combination of Pucci, Kepley, and Schmidt renders claim 10 obvious.
152. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “at least some of the analog data sources are analog data sources of
different types.” As discussed in claim 9 above, in a multi-ION node configuration,
the workstation can be connected in parallel to multiple ION nodes, each attached
to a different “analog data source.” Further, the different “analog data sources”
can be different types such as analog data from an audio mix application or analog
data from a telephone switch system. For example, one ION node can be attached
to a telephone switch system, while another ION node can be attached to an audio
mix application. (Pucci, pp. 217–218, 229.)
G. The combination of Pucci, Kepley, and Schmidt renders claim 11 obvious.
153. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses the “processor is configured to format the digitized analog data into
blocks of data with block sizes suitable for a hard disk of the computer.” Pucci
discloses that “application specific functions, called actions, [can be] enabled by
reading or writing specific disk block addresses within the ION drive.” (Pucci,
p. 221 (emphasis in original).) For example, the A-to-D application’s interface to
- 85 -
the A-to-D converters “is implemented as an action defined on a set of 5 disk block
addresses, each corresponding to 1 of the 5 analog channels. The controlling
program within the workstation merely reads from one of these designated disk
block addresses to obtain the converted data.” (Pucci, p. 221) More specifically,
the designated disk block addresses are accessed using “standard disk read and
write accesses.” (Pucci, p. 221.) In other words, the designated disk block
addresses are equivalent to disk blocks of a standard disk drive.
154. Pucci’s disclosure of block addresses is consistent with the common
knowledge well prior to the earliest effective priority date of the ’437 patent that
hard disks store information in units called blocks. (Silberschatz, p. 383.) The size
of these blocks in hard disks may vary but typically were 512 bytes. “Depending
on the disk drive, sectors vary from 32 bytes to 4096 bytes; usually, they are 512
bytes.” (Silberschatz, p. 383.) File access routines rely on this standard practice of
storing information as blocks of data in disk drives. Because of this standard
practice, accessing files only requires issuing “generic commands to the
appropriate device driver to read and write physical blocks on the disk.”
(Silberschatz, p. 385.) A file system also relies on the relationship between logical
blocks and physical blocks, where logical blocks typically represent an addressing
scheme while physical blocks represent the physical locations of the blocks on the
disk. (Silberschatz, pp. 358, 385, 409–410.) An addressing scheme translates
- 86 -
logical blocks to physical blocks in order to locate the requested file data.
(Silberschatz, pp. 358, 385, 409–410.)
155. A POSITA would understand this because the data may be accessed
similarly to any other file stored on a disk drive and that data would be accessed
using the same methods to access other files stored on a disk drive. “I/O transfers
between memory and disk are performed in units of blocks.” (Silberschatz,
pp. 383–384 (emphasis in original).) These methods would necessarily depend on
data being stored as blocks of data because such methods expect a particular
storage format, i.e., logical blocks and i-nodes, when retrieving data. (Silberschatz,
p. 383–384.) Therefore, a POSITA would appreciate that the data stored in the file
system in Pucci’s system will be stored as blocks of data having block sizes.
156. Pucci discloses that workstation communicates with ION node as if it
was a hard disk. (Pucci, p. 217.) It was well known at the earliest possible priority
date of the ’437 patent that writing and reading data from a hard disk required that
the data be formatted into blocks of suitable size. The ’437 patent admits so. “[I]t
should be noted that normally data flow from a host device must be formatted in
blocks to permit writing to a hard disk and subsequent reading from a hard disk, as
known by those skilled in the art.” (’437 patent, 8:10–13.) Thus, based on this
well-known principle of blocks, a POSITA would understand that for Pucci’s
workstation to be able to read data from the ION node as if reading from a hard
- 87 -
disk, the data in the “designated disk block addresses” must have been formatted
into blocks with sizes suitable for a hard disk.
H. The combination of Pucci, Kepley, and Schmidt renders claim 12 obvious.
157. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “a data buffer coupled to the processor to permit independence of time of
data acquisition and data transfer to the host computer.” First, Pucci discloses “a
data buffer coupled to the processor.” A buffer was a well-known component prior
to the earliest possible priority date of the ’437 patent: “[a] device in which data
are stored temporarily, in the course of transmission from one point to another;
used to compensate for a difference in the flow of data, or time of occurrence of
events, when transmitting data from one device to another.” (Ex. 1018, IEEE
Dictionary, p. 113; see also Microsoft Computer Dictionary, p. 66 (definition of
“buffer”) (“A region of memory reserved for use as an intermediate repository in
which data is temporarily held while waiting to be transferred between two
locations”.) A POSITA understands that computer memory buffers are often used
to cache data temporarily.
158. Pucci discloses that the ION node includes a “buffer” memory: “Large
buffer memory, on the order of hundreds of megabytes, is used as a cache for
physical device data.” (Pucci, p. 222.) Pucci further discloses that an application
task that resides within the ION node “is activated by periodic interrupts from the
- 88 -
hardware and extracts the raw data from the converter, placing it into a queue for
temporary storage.” (Pucci, p. 231.) A POSITA would appreciate that placing the
raw data in a queue for temporary storage would require the application task to
operatively interface with the large buffer memory where physical device data is
cached in Pucci. A POSITA would further appreciate that the application task
would execute on the Application CPU (“the processor”). Accordingly, the
Application CPU is coupled to the buffer.
159. Further, the data buffer in the combination of Pucci, Kepley, and
Schmidt “permit[s] independence of time of data acquisition and data transfer to
the host computer.” As discussed above, the data is extracted from the A-to-D
converter and placed in a buffer. A “buffer” allows for data to be “temporarily held
while waiting [for the data] to be transferred between two locations.” (Microsoft
Computer Dictionary, p. 66.) Accordingly, the intermediate nature of a “buffer”
and the temporary storage of data allows for temporal independence between data
storage and data transfer. This well-understood function of a buffer is consistent
with its use in Pucci where an application task that resides within the ION node
“interfaces to the SCSI bus and returns data to the workstation when requested.”
(Pucci, pp. 231–232.) Thus, the “time of data acquisition” is independent of the
time of “data transfer to the host computer.”
- 89 -
I. The combination of Pucci, Kepley, and Schmidt renders claim 14 obvious.
160. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “the analog data generating and processing device processor interprets a
read command from the host computer as a data transfer command to initiate
transfer of digitized analog data from the analog acquisition channels to the host
computer.” First, Pucci discloses the “analog data generating and processing
device processor” responds to “a data transfer command to initiate transfer of
digitized analog data from the analog acquisition channels to the host computer.”
As discussed above, Pucci’s ION node generates “digitized analog data” from the
A-to-D converters (“the analog acquisition channels”). The ION node temporarily
stores digitized analog data. It “extracts the raw data from the converter, placing it
into a queue for temporary storage.” (Pucci, p. 231.) The workstation (“host
computer”) requests this stored digitized analog data, and this request initiates
transfer of the data from the ION node to the workstation: “[t]he part of the
application that runs on the workstation requests converted data in response to a
start/stop signal from other system hardware.” (Pucci, p. 232.) An application task
that resides within the ION node “interfaces to the SCSI bus and returns data to the
workstation when requested.” (Pucci, pp. 231–232.) A POSITA would appreciate
that this application task would execute on the Application CPU because of the
central role of a CPU in a computer system.
- 90 -
161. Pucci also teaches that the data transfer command is a read command.
For example, Pucci discloses “[u]pon start, the workstation reads the A-to-D start
address for an appropriate channel, activating the device. It then retrieves data by
reading the data block address for that channel.” (Pucci, p. 232 (emphasis added).)
Pucci further discloses the use of SCSI commands. (Pucci, p. 234.) Schmidt
describes a number of SCSI commands for requesting data from a SCSI device.
For example, Schmidt describes commands including READ(6), READ(10),
READ BUFFER, and READ LONG. (Schmidt, p. 164, Table 13.2.) Schmidt
discloses that support for the READ(6) and READ(10) commands is mandatory in
the SCSI standard. (Schmidt, p. 164, Table 12.10 (showing the READ(6) and
READ(10) commands as Type “M”); p. 137, Table 12.8 (showing Type M
commands as “Mandatory” commands that “must be implemented”).) Given these
disclosures in Pucci, Kepley, and Schmidt, a POSITA would implement Pucci’s
“read command,” which is sent over a SCSI bus, as one of the SCSI READ
commands as described in Schmidt.
J. The combination of Pucci, Kepley, and Schmidt renders claim 15 obvious.
162. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “the analog data generating and processing device is adapted to be
interfaced with the multi-purpose interface of the computer by means of a cable.”
As discussed in claim 1 above, the ION node (“the ADGPD”) is interfaced with a
- 91 -
SCSI adapter (“multi-purpose interface”) of the workstation via a SCSI bus.
(Pucci, p. 225.) The SCSI bus includes “a cable.” (Pucci, p. 228 (“The maximum
bus length is about 20 feet....”); p. 229 (“SCSI-2 can use optional secondary
cables....”).)
163. A POSITA would also understand that standard SCSI connects
standalone devices using a physical cable. “SCSI [is] designed to make it possible
to use the same cables. The A cable is a 50-pin cable while the B cable is 68-pin.
Either implementation may use either ribbon cable or twisted-pair... Cables should
have an impedance ... When Fast SCSI is being used ... the cable requirements are
somewhat stricter. The cable should be shielded.” (Schmidt, p. 96, section titled
“Cables and connectors.”)
K. The combination of Pucci, Kepley, and Schmidt renders claim 30 obvious.
164. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “wherein the processor is configured to allow an aspect of operation of
the analog data generating and processing device other than the transfer of at least
some of the digitized analog data from the data storage memory to the multi-
purpose interface to be controlled by means of an external computer.” Pucci’s
Figure 5, below, illustrates “a sequence of instructions... prepared by the
workstation to configure the data acquisition tasks.” (Pucci, p. 229.) Pucci teaches
that these tasks “run[] within the ION system.”
- 92 -
165. A POSITA would conclude that Pucci’s data acquisition tasks (e.g.,
“atod 0” and “atod 1” commands in Figure 5 above) relate to acquiring data which
is an operation “other than the transfer of at least some of the digitized analog data
from the data storage memory to the multi-purpose interface.” Pucci discloses that
the workstation (“external computer”) can control data acquisition tasks (“an
aspect of operation... other than the transfer of... digitized analog data”) of the
ION node. For example, Pucci’s Figure 5, below, illustrates “a sequence of
instructions... prepared by the workstation to configure the data acquisition tasks.”
(Pucci, p. 229.) Such instructions include, for example the “atod 0” and “atod 1”
commands in Figure 5 below because they initiate A-to-D acquisition and
conversion and do not “transfer at least some of the… file.” Pucci describes with
respect to Figures 4 and 5 “an application [] to mix a stereo source of analog data
into a single stream.” (Pucci, Figure 4, p. 229.) Pucci discloses final a step after
“mu-law compression” that “output[s] to a workstation by reading from an
indicated SCSI I/O address.” A POSITA would therefore conclude that the
- 93 -
commands disclosed in Pucci to transfer file data involve the last step in Figure 5
below (“scsi 32 < g”), whereas the first steps (“atod”) are not involved in the
(final) transfer of digitized data to workstation. Moreover, based on the well-
understood operations of CPUs and the central role it plays in the functions of a
computer system, a POSITA would appreciate that the tasks are executed by the
“processor” of the ION node. Accordingly, Pucci discloses that the workstation
(“external computer”) can control data acquisition tasks (“an aspect of operation...
other than the transfer of... digitized analog data”) of the ION node.
L. The combination of Pucci, Kepley, and Schmidt renders claim 34 obvious.
166. It is my opinion that the combination of Pucci, Kepley, and Schmidt
discloses “wherein at least one analog source is coupled to the analog data
generating and processing device and is designed for either one-way or two-way
communication.” Pucci teaches that “ION provides the platform for analog to
digital (A-to-D) services for a voice messaging application of a prototype
programmable telephone switch system called GARDEN.” (Pucci, p. 231.) Pucci
explains that the connection between ION and the GARDEN system is through
conventional SCSI connections (Pucci, p. 231-232.) Pucci further explains that
such SCSI connections allow for transmissions between devices that include
“accepting data” and “requesting data.” (Pucci, p. 239.) The telephone switch
system provides analog data to ION for A-to-D conversion and is “at least one
- 94 -
analog source... coupled to the analog data generating and processing device.”
Further, as the telephone switch system communicates analog data to the ION node
through the conventional SCSI connection as described above, the telephone
switch system is designed for at least one-way communication between the
telephone switch system and the ION node, because information flows from the
telephone switch in the direction of the ION node.
IX. Ground 2: The combination of Pucci, Kepley, Schmidt, and Shinosky renders claim 16 obvious. 167. U.S. Patent No. 4,065,644 to Shinosky et al., titled “Electro-Optical
and Electronic Switching Systems.” (Ex. 1045.) I have been informed by counsel
that Shinosky is prior art under at least 35 U.S.C §§ 102(a), 102(b), and 102(e).
168. It is my opinion that the combination of Pucci, Kepley, Schmidt, and
Shinosky teaches that “at least one of the analog sources is a sensor that is
operatively interfaced with the analog data generating and processing device and
that is designed to generate the analog data.” Pucci teaches that “ION provides the
platform for analog to digital (A-to-D) services for a voice messaging application
of a prototype programmable telephone switch system called GARDEN.” (Pucci,
p. 231.) A POSITA would have understood that a telephone switch connects to a
telephone (see e.g., Kepley, Figure 1), which includes a sound transducer
(“sensor”) to convert sound into an electrical analog signal. It is well known to a
POSITA that “a standard telephone line [] carries continuously varying (analog)
- 95 -
signals.” (Microsoft Computer Dictionary, p. 23 (definition of “analog line”).)
Based on Pucci’s disclosure of the telephone switch system and the well-
understood principles of voice data as analog data, a POSITA would conclude that
Pucci teaches “at least one of the analog sources is a sensor . . . operatively
interfaced with the analog data generating and processing device and that is
designed to generate the analog data.”
169. Further Pucci’s ION system may include a transducer or a “sensor”
for converting “one form of energy into another” (e.g., sound into an electrical
signal). (Microsoft Computer Dictionary, p. 428 (definition of sensor); p. 474
(definition of transducer).) Pucci contemplates applications that capture audio
signals: “An example application uses a simple set of directives to capture and
digitize high quality stereo audio.” (Pucci, p. 217.) Thus, the ION node would be
coupled to a sound transducer, or sensor. Further, a POSITA would know that
telephones and videophones include a microphone and that a “microphone” is a
sensing “device that converts sound waves into analog electrical signals.”
(Microsoft Computer Dictionary, pp. 307 (definition of “microphone”), 496
(definition of “videophone”).) Given that the supported application is a “voice
messaging application,” it would have been reasonable for a POSITA to conclude
that Pucci’s telephone switch system receives analog voice data from a telephone.
- 96 -
170. A POSITA would have also understood that a telephone switch
includes sensors. Shinosky discloses a telephone switch that includes “a sensor that
is designated to generate…analog data.” Shinosky discloses “[a] switching system,
specifically useful as a telephone central switching system, to establish a number
of simultaneous but independent communication links between selected lines.”
(Shinosky, Abstract.)
171. Annotated Figure 1 of Shinosky, below, illustrates the switching
system focusing on a single input.
172. The input signal “is converted to a varying voltage in an electrical
conductor” by the transducing unit 1-E and “applied to the z-axis input of the
[CRT].” (Shinosky, 9:27–31.) The signal causes “the emission of light” due to the
- 97 -
operation of the cathode ray tube (CRT). (Shinosky, 9:30–37.) As Shinosky states,
“the signal which was emitted by the generic source 1-F has now become an
intensity modulated light signal.” (Shinosky, 9:39–41.) The modulated light signal
is “direct[ed]… at a specific chosen photosensor in the array.” (Shinosky, 9:65–
67.) A POSITA would understand a photosensor is a transducer that converts a
light signal to an electrical signal. (Microsoft Dictionary, pp. 363–64 (definition of
“photosensor” and “photoelectric device”).) For example, Figure 1 of Shinosky
illustrates that the output of a photosensor is amplified by amplifier 3-C and output
to a speaker 3-D. (See Shinosky, 9:56–60.)
173. Figure 6 of Shinosky, reproduced in part below, illustrates a switching
system that enables a bi-directional telephone call between two parties.
Photosensors
- 98 -
174. This switching system includes a photosensor array that constitutes
the recited “sensor... designed to generate the analog data.” Figure 6, for example,
illustrates two photosensors in the array transmitting data to respective telephones.
(See Shinosky, Figure 6.) In Kepley, “[a]n individual can directly call voice mail
service system 110 from one of telephone sets T100-Tm or trunk circuits T1-Tn or
can redirect their incoming calls from their associated telephone station sets T100-
Tm to voice mail service system 110.” (Kepley, 4:65-5:2.) Thus, in the
combination of Pucci, Kepley, and Shinosky, the photosensor array would forward
the “analog data” to the voicemail service provided by Pucci’s ION node.
175. Neither Pucci nor Kepley provide detail about the implementation of
their respective telephone switches, and a POSITA would have looked to the prior
art in search of such detail. A POSITA would have been motivated to use
Shinosky’s switch as part of Kepley’s telephone switching system because
Shinosky’s switch is “wireless and switchless” (Shinosky, 6:42–44), resulting in “a
significant reduction in component requirements, and a consequent reduction in
cost” (Shinosky, 28:44–47.) The combination would have yielded the predictable
result of an operable telephone switching system for routing calls
X. Ground 3: The combination of Pucci, Kepley, Schmidt, and Campbell renders claims 13 and 18 obvious. 176. U.S. Patent No. 5,081,454 to Campbell, Jr. et al. (“Campbell”), titled
“Automatic A/D Converter Operation Using Programmable Sample Time” is prior
- 99 -
art under at least 35 U.S.C. §§ 102(a) and 102(b) because it issued on January 14,
1992. (See Ex. 1039.)
A. The combination of Pucci, Kepley, Schmidt and Campbell renders claim 13 obvious.
177. It is my opinion that the combination of Pucci, Kepley, Schmidt, and
Campbell discloses “each of the plurality of analog acquisition channels [be]
independently programmable and further comprise a plurality of corresponding
sample and hold amplifiers for simultaneous sampling on the plurality of analog
acquisition channels to permit simultaneous analog data acquisition from a
plurality of respective analog data sources.” The plain and ordinary meaning of
“independently programmable” is “programmed independently from each other.”
This meaning is consistent with its use in the specification which recites that “the
channels can be programmed independently of each other.” (’437 patent, 9:46–47.)
178. As discussed in claim 1 above, Pucci discloses a plurality of A-to-D
converters each providing an independent analog acquisition channel. The
combination of Pucci, Kepley, and Schmidt does not explicitly disclose that the
plurality of analog acquisition channels are “independently programmable.”
However, this limitation is taught by Campbell. Campbell discloses “[a]n analog-
to-digital conversion system module [that] provides programmable times for
sampling analog input signals.” (Ex. 1039, Campbell, Abstract.) In Campbell, a
“command word” which includes information specifying “the conversion time per
- 100 -
analog input channel” is provided and stored in a register or memory table.
(Campbell, Abstract.) Other fields may also be “provided to control such
parameters as analog channel, reference selection, conversion resolution, result
data justification, and so on.” (Campbell, 2:29–32.) A POSITA would understand
these disclosures in Campbell to mean that each analog input channel is
independently programmable.
179. Pucci discloses that the ION-connected telephone switch system is
“user programmable.” (Pucci, p. 218.) This “user programmability” extends to “the
interfaces and devices characteristics” which “leads to greater functionality and
power located off the host processor and in the peripheral device.” (Pucci, p. 231.)
Further, Campbell teaches that “[p]rogrammable sample time allows operation
without a loss of accuracy and a higher overall conversion throughput.” (Campbell,
2:44-46.) A POSITA would have been led to combine Pucci and Campbell in light
of these teachings of Pucci and Campbell.
180. The combination of Pucci, Kepley, and Schmidt also does not
explicitly disclose that the plurality of analog acquisition channels “comprise a
plurality of corresponding sample and hold amplifiers for simultaneous sampling
on the plurality of analog acquisition channels to permit simultaneous analog data
acquisition from a plurality of respective analog data sources.” However, this
limitation is also taught by Campbell. As discussed above, Campbell discloses an
- 101 -
analog-to-digital conversion system. Campbell’s system receives 16 analog
channels via a Channel MUX 28. (Campbell, 5:49-51, FIG. 2.) Channel MUX 28
passes two channels to Sample-and-Hold circuits 40 and 42. (Campbell, 5:7, FIG.
2.) Based on this disclosure, a POSITA would conclude that Campbell teaches at
least two independent analog acquisition channels “compris[ing] a plurality of
corresponding sample and hold amplifiers.”
181. Campbell further teaches that “[t]wo adjacent analog channels are
always sampled simultaneously.” (Campbell, 14:2-3.) Thus, a POSITA would
conclude that Campbell also teaches that the Sample-and-Hold circuits 40 and 42
are “for simultaneous sampling on the plurality of analog acquisition channels to
permit simultaneous analog data acquisition from a plurality of respective analog
data sources.” Annotated Figure 2 below shows the channel mux 28 and two
channels that lead to sample-and-hold circuits 40 and 42.
- 102 -
182. Campbell teaches that “[s]imultaneous sampling may be used for
receiving and converting differential or other special signal pairs.” (Campbell,
13:65-66.) Thus, Campbell teaches providing a respective sample-and-hold circuit
for each A-to-D channel when simultaneous sampling of signals may be needed.
Similarly, a POSITA would appreciate that, in Pucci, different A-to-D channels
may receive respective voice messages concurrently triggering interrupts for
reading the different A-to-D channels simultaneously. (Pucci, p. 231.) A POSITA
would have found it obvious to implement a separate sample and hold circuit for
each analog channel in Pucci so that hardware interrupts from the A-to-D
converters can be processed in a timely manner.
- 103 -
B. The combination of Pucci, Kepley, Schmidt, and Campbell renders claim 18 obvious
183. Claim 18 narrows claim 1 by adding “wherein the plurality of analog
acquisition channels are independently programmable.” All of the limitations of
claim 18 are substantially found in claim 13 discussed in sub-section X(A)above.
For the same reasons provided with respect to claim 13, the combination of Pucci,
Kepley, Schmidt, and Campbell renders claim 18 obvious.
XI. Ground 4: The combination of Pucci, Kepley, Schmidt, and Wilson renders claim 32 obvious. 184. U.S. Patent No. 5,353,374 to Wilson et al., titled “Low Bit Rate
Voice Transmission for Use in a Noisy Environment” is prior art under at least 35
U.S.C. §§ 102(a) and 102(b) because it issued on October 4, 1994. (See Ex. 1040.)
185. It is my opinion that the combination of Pucci, Kepley, Schmidt, and
Wilson discloses “the digitized analog data is processed by the processor
performing a fast Fourier transform.” A “fast Fourier transform” or “FFT” is “[a]
set of algorithms used to compute the discrete Fourier transform of a function,
which in turn is used for solving series of equations, performing spectral analysis,
and carrying out other signal-processing and signal-generation tasks.” (Microsoft
Computer Dictionary, p. 189 (emphasis added).)
186. Pucci discloses that the “digitized analog data” is processed by the
processor. Specifically, Pucci discloses that “mu-law” data compression is applied
- 104 -
on the digitized analog data. (Pucci, p. 231.) “The second task is a generic system
utility that translates 16-bit linear data into 8-bit mu-law data, as required by this
particular application. It is essentially performing data compression on the input
stream.” (Pucci, p. 231.)
187. With regard to the “processor perform[ing] a fast Fourier transform,”
in a related field of endeavor, Wilson discloses “a low bit rate voice encoding
technique that provides intelligible speech at low signal-to-noise ratios.” (Ex. 1040,
Wilson, 2:28–30.) Like Pucci, Wilson discloses applying mu-law data compression
on the digitized data in a telephone application. Specifically, Wilson discloses that
“[t]he resulting high quality signal at the output of the A/D 14 has a bit rate of 96
kbits per second. In a telephone application the 12 bits is reduced to 8 bits by A
law or Mu-law companding, which encodes the voice signal by using a simple
non-linearity.” (Wilson, 3:38–42.) A POSITA would understand that
“companding” is “[a] process in which compression is followed by expansion.”
(IEEE Dictionary, p. 184.) To achieve further compression, Wilson teaches that
“[a]ny of several known techniques for information coding may be applied” and
applying information coding using “a transform coder, or an adaptive transform
coder.” (Wilson, 4:8–9, 4:20–21.) “For this approach, the signal is transformed
using a fast Fourier transform or other transform, typically a transform that can be
executed using a fast algorithm.” (Wilson, 4:21–28.) Wilson teaches that
- 105 -
“transform coding produces a 4:1 or 8:1 compression of the voice signal” and that
the “resulting encoder output..., when using the transform coder, is 1 kbits per
second to 2 kbits per second of high quality voice signal.” (Wilson, 4:28–33.)
188. A POSITA would have found it obvious to use a transform coder as
taught in Wilson in Pucci’s ION node to achieve further compression of the
digitized voice signal. Based on Wilson’s disclosure, a POSITA would recognize
the obvious advantages achieved by further compressing the digitized voice signal
using Wilson’s transform coding, including lower storage requirements and faster
transmission. The combination would have been a combination of known prior art
elements (mu-law compression, transform coding) according to known methods
(mu-law compression followed by transform coding) to yield predictable results (a
compressed data signal).
XII. Ground 5: The combination of Pucci and Schmidt renders claim 43 obvious.
A. An analog data generating and processing method for acquiring analog data and for communicating with a host computer comprising [43P]:
189. It is my opinion that the combination of Pucci and Schmidt discloses
“an analog data generating and processing method for acquiring analog data and
for communicating with a host computer.” Pucci’s ION node is a device that
performs “an analog data generating and processing method for acquiring analog
data and for communicating with a host computer.” An ION node “is a back-end
- 106 -
system, connecting to a workstation via the Small Computer Systems Interface
(SCSI) disk interface.” (Pucci, p. 217) In an exemplary application, the ION node
“supports an analog to digital (A-to-D) conversion application that provides voice
messaging service for a prototype telephone switch.” (Pucci, p. 221.) As shown in
Pucci’s Figure 1 below, the ION node includes A-to-D converters for converting
analog voice messages received on respective analog channels. (Pucci, p. 221.)
190. The generated analog data is then processed by being digitized and
compressed: “[t]he part of the A-to-D application that resides within ION is
structured around three cooperating tasks. One task is activated by periodic
interrupts from the hardware and extracts the raw data from the converter, placing
it into a queue for temporary storage.” (Pucci, p. 231.) The second task performed
on the ION node “is a generic system utility that translates 16-bit linear data into 8-
bit mu-law data....” (Pucci, p. 231.) And, the third task “interfaces to the SCSI bus
and returns data to the workstation when requested.” (Pucci, p. 232.) Based on
these disclosures of Pucci’s ION node, a POSITA would conclude that the ION
node both generates and processes analog data, and that this processed analog data
is provided to “the workstation when requested.” (Pucci, p. 232.)
B. The combination of Pucci and Schmidt discloses the architecture elements of claim 43.
191. It is my opinion that the combination of Pucci and Schmidt discloses
“operatively interfacing an analog data device including a digital processor, a
- 107 -
program memory and a data storage memory, to a multi-purpose interface of the
host computer.” In Pucci, the ION node’s SCSI Bus Interface in an SBC interfaces
the ION node (“analog data device”) with an individual workstation (“host
computer”) via a SCSI bus. (Pucci, p. 222, Figure 2.) Pucci teaches that a SCSI
“host controller” resides within the host system. (Pucci, pp. 238–239.)
192. SCSI is a well-known “device-independent” standard that allows “a
variety of devices to be linked to a computer system,” where the “computer system
is connected to the SCSI bus through a host adapter.” (Schmidt, p. 79.) Such
adapters “often reside directly on the mother board of workstations and modern
personal computers, in which case they are referred to as embedded host adapters.”
(Schmidt, p. 79.) Based on Pucci’s disclosure that workstations comprise a SCSI
bus interface and the well-understood principles of SCSI, a POSITA would
therefore have understood that workstations in Pucci included such an SCSI
adapter. Moreover, devices of different types, such as hard disks and printers, may
be connected to the computer system. (Schmidt, 79; v.) Therefore, SCSI is a multi-
purpose interface. Furthermore, the ’437 patent acknowledges that SCSI is a well-
known multi-purpose interface. (’437 patent, 3:51–56.)
193. It is my opinion that the combination of Pucci and Schmidt further
disclose other architectural elements of the analog data device with the “analog
data device including a digital processor, a program memory and a data storage
- 108 -
memory.” Pucci teaches this architectural arrangement as highlighted in annotated
Figure 2 of Pucci (below).
(Pucci, p. 222, Figure 2 (annotated).)
194. Pucci discloses an Application CPU and CPUs within the SBCs (SBC
CPUs) that form “a digital processor” of the ION node. (Pucci, p. 222, Figure 2.)
As discussed in Section VIII(A)(2)(b) above for claim 1, Pucci teaches that the
ION node includes “a program memory.” (See Pucci, pp. 220, 223.) Also, Pucci’s
ION nodes includes “a data storage memory” as discussed in Section VIII(A)(2)(c)
above for claim 1. (See Pucci, p. 222, Figure 2.)
data storage memory
Digital processor
- 109 -
1. The combination of Pucci, Kepley, and Schmidt teaches the acquisition and processing limitations [43B].
a) Pucci teaches the acquisition limitation of independent claim 43.
195. This limitation is substantially similar to the acquisition limitation of
claim 1 [1E.1] as indicated in the following table
Claim 1 Claim 43 [1E.1] … a data generation process by which analog data is acquired from each respective analog acquisition channel of a plurality of independent analog acquisition channels
[43B.1] acquiring analog data on each respective analog acquisition channel of a plurality of independent analog acquisition channels.
196. The limitation of claim 43 recites the same acquisition of analog data
from “each respective analog acquisition channel of a plurality of independent
analog acquisition channels.” Accordingly, as discussed above in Section
VIII(A)(3)(a) with regard to limitation [1E.1], the combination of Pucci and
Schmidt discloses this limitation.
b) The combination of Pucci and Schmidt teaches the processing limitation of independent claim 43.
197. It is my opinion that the combination of Pucci and Schmidt discloses
“converting the acquired analog data to digitized acquired analog data and
coupling the digitized acquired analog data into the digital processor for processing
by the digital processor.” “ION supports an analog to digital (A-to-D) conversion
application that provides voice messaging service for a protocol telephone switch.”
- 110 -
(Pucci, p. 221.) Figure 1 illustrates the presence of multiple “A to D Converters”
and “[t]he application’s interface to the A-to-D converters is implemented as an
action defined on a set of 5 disk block addresses, each corresponding to 1 of the 5
analog channels.” (Pucci, p. 221). The third task performed by “the A-to-D
application that resides within ION” “defines a SCSI action function which
contains 4 block addresses for each of 5 A-to-D channels.” (Pucci, p. 232.) Based
on these disclosures, a POSITA would conclude that Pucci teaches that analog data
is acquired from each analog acquisition channel of a plurality of A-to-D
converters. The A-to-D converters convert the analog data to digitized data. (Pucci,
p. 232 (“The part of the application that runs on the workstation requests converted
data in response to a start/stop signal....”).)
198. Moreover, Pucci further “couple[s] the digitized acquired analog data
into the digital processor for processing by the digital processor.” For example, an
application task that resides within the ION node “is activated by periodic
interrupts from the hardware and extracts the raw data from the converter, placing
it into a queue for temporary storage.” (Pucci, p. 231.) Another task that resides
with the ION node “perform[s] data compression on the input stream” by
“translat[ing] 16-bit linear data into 8-bit mu law data.” (Pucci, p. 231.) Based on
these disclosures and the well-understood operation of a CPU as a central
component of a computer system, a POSITA would appreciate that these
- 111 -
application tasks execute on the Application CPU (“the processor”) of the ION
node. Accordingly, Pucci discloses that the converted data (“the digitized acquired
analog data”) is “coupl[ed] into the digital processor for processing by the digital
processor.”
2. The combination of Pucci and Schmidt teaches the automatic recognition limitation of independent claim 43.
199. It is my opinion that the combination of Pucci and Schmidt discloses
“automatically generating and transmitting to the host computer via the
multipurpose interface an identification parameter which identifies the analog data
generating and processing device to the host computer as a digital storage device
but which is different than an analog data device.” Pucci’s ION node emulates a
disk drive: “A workstation sees ION as though it were physically a local disk drive
(an ION drive).” (Pucci, p. 220.) Specifically, “[s]oftware running within the ION
system mimics the behavior of a conventional device, providing the workstation
with a peripheral that it knows how to deal with.” (Pucci, p. 220.) Based on Pucci’s
disclosures, a POSITA would conclude that Pucci’s ION node identifies itself as a
disk drive, and that the workstation recognizes the ION node as a disk drive.
200. Pucci discloses that the ION node comprises SCSI bus interfaces for
connecting to the individual workstations. (Pucci, Figure 2.) A POSITA would
understand that Pucci’s disclosure of implementing the SCSI standard requires
Pucci’s devices to support standard SCSI commands, such as the INQUIRY
- 112 -
command. In Pucci’s system, a workstation, acting as an initiator, must identify the
device type of ION node, acting as a target, prior to the workstation being able to
send other commands. In this regard, Pucci discloses that “ION appears to the
workstation as a large, high speed disk device.” (Pucci, p. 217.) Therefore, a
POSITA would understand that Pucci’s ION node would respond to the INQUIRY
command using the appropriate device type identifier to signal this device type to
the workstation. The SCSI standard defines a (hard) “disk drive” class that is
included in responses to INQUIRY commands. (Schmidt, p. 133, Table 12.1.)
201. In SCSI as described by Schmidt, “[t]here are a number of commands
that are common to all device types” and the implementation of these commands
“is mandatory.” (Schmidt, p. 138.) Among these mandatory commands is the
“inquiry” command. (See Schmidt, p. 138, Table 12.10 (showing the INQUIRY
command as Type “M”); p. 137, Table 12.8 (showing Type M commands as
“Mandatory” commands that “must be implemented”).) The SCSI INQUIRY
command “can be used to learn… the device type,” which is also called the
“device class” or “peripheral device type.” (Schmidt, p. 138; see also Table 12.12,
pp. 139–40.) Given that Pucci uses a SCSI bus for connecting the ION node to a
workstation, and that both the ION node and the workstation would have supported
the mandatory SCSI initialization process, a POSITA would have found it obvious
to use Schmidt’s SCSI device recognition process in the system of Pucci to enable
- 113 -
device identification of the ION node to be carried using routine SCSI signaling to
the workstation. And, because all SCSI devices must support the INQUIRY
command, it would have been obvious to a POSITA that Pucci’s ION node
connected to the host workstation via SCSI would receive a SCSI INQUIRY
command issued from the workstation such as disclosed by Schmidt. In Pucci’s
system, the SCSI INQUIRY command would be received by the SCSI interface
chip dedicated to the SCSI interface between the ION node and the workstation.
(Pucci, p. 222, Figure 2.)
202. Schmidt provides details about a device’s response to the INQUIRY
command. (Schmidt, pp. 139–41.) In response to an INQUIRY command, a SCSI
device provides a response including a five-bit “device class” or “peripheral device
type.” (Schmidt, pp. 139–40; see also p. 132 (“Table 12.1 shows an example of the
device types returned from an INQUIRY command”).) The five-bit “device class”
or “peripheral device type” in the response is the recited “at least one parameter
identifying the analog data generating and processing device” and it is sent
“through the i/o port and to the multi-purpose interface of the computer.” One
device class is the (hard) “disk drive” class. (Schmidt, p. 133, Table 12.1.) Further,
because Pucci’s ION node is designed to emulate a hard disc, the POSITA would
also have found it obvious to have the ION node return the (hard) “disk drive”
- 114 -
class (identifying a “digital storage device”) in its response to the INQUIRY
command from the workstation.
203. Additionally, the SCSI initialization process disclosed in Schmidt is
automatic. When a host computer having a SCSI bus is turned on, SCSI bus
initialization occurs automatically. Specifically, the host computer’s SCSI
controller automatically issues the INQUIRY command to discover any SCSI
peripheral devices attached to the SCSI bus. No user action, beyond powering the
host computer, is required to initiate the SCSI initialization process.
204. Based on the SCSI disclosures in Pucci and the well-understood
principles of the SCSI protocol. Thus, a POSITA would interpret that the
combination of Pucci and Schmidt discloses the parameter identifies Pucci’s ION
node “as a digital storage device but which is different than an analog data
device.” In the combination of Pucci and Schmidt, the “at least one parameter”
would be sent by the SCSI interface chip dedicated to the SCSI interface between
the ION node and the workstation. (Pucci, p. 222, Figure 2.)
205. The response parameter is also “independent of [the] analog data
source.” Schmidt stresses that the SCSI interface is a “device independent I/O
bus” that “makes it possible to write device drivers for a device without knowing
device specific details.” (Schmidt, p. 79 (emphasis added).) Moreover, as I
outlined above, the ION node identifies itself as a disk drive to the workstation.
- 115 -
Because the response parameter identifies the ION node as a hard disk regardless
of the analog data source within the ION node, the identification of the ION node
is “independent” of the ION node’s an “analog data source.”
206. It is my opinion that the combination of Pucci and Schmidt discloses
“the analog data generating and processing device communicating with the host
computer through the multi-purpose interface as if the analog data generating and
processing device were the digital mass storage device.” “A mass storage device is
capable of storing data many times the size of main memory.” (Schmidt, p. 4.)
Examples of mass storage devices include disk drives. (Schmidt, p. 4.) Disk drives
are capable of storing digital data, and therefore may be considered digital mass
storage devices.
3. The combination of Pucci and Schmidt teaches the transferring limitation of independent claim 43.
207. It is my opinion that the combination of Pucci and Schmidt discloses
“the analog data generating and processing device communicat[es] with the host
computer through the multi-purpose interface as if the analog data generating and
processing device were the digital storage device.” In particular, Pucci’s ION node
“appears to the workstation as a large, high speed disk device.” (Pucci, p. 217.)
Accordingly, “[s]oftware running within the ION system mimics the behavior of a
conventional device, providing the workstation with a peripheral that it knows how
to deal with.” (Pucci, p. 220.)
- 116 -
208. It is also my opinion that the combination of Pucci and Schmidt
discloses “transferring the digitized acquired analog data acquired from at least one
of the analog acquisition channels.” In Pucci, the workstation can request the
digitized analog data from the ION node. Specifically, “[t]he part of the application
that runs on the workstation requests converted data in response to a start/stop
signal from other system hardware, which indicates the beginning and end of a
recording session.” (Pucci, p. 232.) A task of the A-to-D application residing on
the ION node “interfaces to the SCSI bus and returns [the] data to the workstation
when requested.” (Pucci, p. 232.)
209. As I described above, the workstation handles the ION node like a
conventional disk drive and thus uses a standard hard disk driver to read files from
the ION node. Pucci describes that the benefit of overcoming issues with prior art
systems which required “[c]onstantly upgrading local workstation based device
drivers to coexist with operating system releases.” (Pucci, p. 218.) Pucci stresses
that its ION system uses existing device drivers: “A workstation sees ION as
though it were physically a local disk drive.... Software running within the ION
system mimics the behavior of a conventional device, providing the workstation
with a peripheral that it knows how to deal with.” (Pucci, p. 220.)
210. Pucci acknowledges the benefits of using a customary device driver.
“Additionally, since the hardware dependent A-to-D code remains within ION, no
- 117 -
driver changes to the host’s operating system are necessary upon workstation
upgrade.” (Pucci, p. 231 (emphasis added).)
211. Device drivers for conventional disk drives are present in computer
systems because they are integrated into the operating system of the computer.
Silberschatz, p. 385 (“The basic file system needs only to issue generic commands
to the appropriate device driver to read and write physical blocks on the disk”);
p. 384 (describing device drivers as being part of the “lowest level” of an operating
system’s file system).) Based on Pucci’s stated goal and the well-understood
principles of device drivers, a POSITA would conclude that the transfer of Pucci’s
digitized acquired analog data “us[es] [a] customary device driver present for the
customary digital storage device in the host computer,” and does not require “the
user to load the device driver.”
4. The combination of Pucci and Schmidt teaches “wherein the identification parameter is consistent with the ADGPD being responsive to commands issued from a customary device driver.”
212. This limitation is identical to limitation [1F.3]. And, as discussed
above in Section VIII(A)(4)(c), the combination of Pucci and Schmidt teaches that
the identification of Pucci’s ION node as a hard disc in the response to the SCSI
INQUIRY command “is consistent with the ADGPD being responsive to
commands issued from a customary device driver.”
- 118 -
XIII. Ground 6: The combination of Pucci, Schmidt, and Campbell renders claim 45 obvious. 213. Claim 45 narrows claim 43 by adding “wherein the plurality of analog
acquisition channels are independently programmable and further comprising a
plurality of corresponding sample and hold amplifiers configured to
simultaneously sample a plurality of the plurality of analog acquisition channels.”
All of the limitations of claim 45 are substantially found in claim 13 discussed
above. For the same reasons provided with respect to claim 13, the combination of
Pucci, Schmidt, and Campbell renders claim 45 obvious.
XIV. Adequacy of the German Priority Application
214. I have reviewed a translation of the German priority application to
which the ’437 patent claims benefit. The translation was provided to me by
counsel and is listed as Ex. 1050 (“the ’437 German application”). In order to
properly claim priority to the German application (Ex. 1049), I have been informed
by counsel that the specification must provide written description for each claim of
the ’437 patent. I have been further informed that the German application would
provide adequate written description if the written description actually or
inherently disclose the elements of each claim. I have been informed that such
disclosure represents that the inventors possessed the invention. I have also been
informed by counsel that to provide support for a negative limitation, the
“specification must describe a reason to exclude the relevant limitation.”
- 119 -
215. Based on my review of the translation, I conclude that the inventors
did not have possession of certain features of the claims of the ’437 patent. In
particular, I conclude that the translation does not either actually or inherently
disclose at least the following two (bolded) features found in claims 1, 4-6, 9-16,
18, 30, 32, and 34 of the ’437 patent:
• “multi-purpose interface” or “an automatic recognition process... in
which... at least one parameter identifying the analog data generating
and processing device... [is] automatically sent....”
• “(b) without requiring any end user to interact with the computer to
set up a file system in the ADGPD at any time.”
216. For example, the ’437 German Application does not mention the key
terms “multi-purpose” or “multi-purpose interface” even once. Similarly, the key
terms “file system,” “end user,” or “interact” also do not appear in the ’437
German Application even once, in any context that can help explain these ’437
claim terms.
217. In reaching my conclusion, I have also relied on the following chart
provided to me by counsel. Terms in bold indicate differences between the two
applications.
’437 Patent – Application As Filed Corresponding Disclosure in ’437 German Application
- 120 -
’437 Patent – Application As Filed Corresponding Disclosure in ’437 German Application
“When the host device system with
which the interface device according to
the present invention is connected is
booted and a data transmit/receive
device is also attached to the interface
device 10,
usual BIOS routines or multi-purpose
interface programs issue an
instruction,
known by those skilled in the art as the
INQUIRY instruction,
to the input/output interfaces in the host
device.”
(’437 patent, 5:17-23.)
“If the host device system with which
the interface device as per the present
invention is connected for which a data
sending/receiving unit is also linked to
the interface device 10, is booted,
normal BIOS routines output a
command
to each input/output interface available
in the host device
that is recognized among experts as an
“INQUIRY” command.”
(Ex. 1050, p. 3.)
“For persons skilled in the art it is
however obvious that the interface
device 10 is not necessarily signed on
when the computer system is powered
up
but that a special BIOS routine or a
driver for a multi-purpose interface
can also be started on the host device
“However, it is obvious for experts that
the interface device 10 is not
necessarily registered when switching
on the computer
rather than a special BIOS routine
can be started on the host device also
while the computer runs in order to
connect or “mount” the interface
- 121 -
’437 Patent – Application As Filed Corresponding Disclosure in ’437 German Application
during current operation of the
computer system in order to sign on or
mount the interface device 10 as an
additional hard disk.”
(’437 patent, 7:27-33)
device 10 as an additional hard disk.”
(Ex. 1050, p. 4.)
An important advantage of the
interface device 10 of the present
invention is that it also permits
extremely high data transfer rates by
using,
for data interchange,
the host device-own BIOS routines
which are optimized for each host
device by the host device manufacturer
or BIOS system manufacturer, or by
using driver programs which are
normally optimized and included by
the manufacturers of multi-purpose
interfaces.
(’437 patent, 7:57-64.)
“A significant advantage of the
interface device 10 of this invention
also consists of it enabling extremely
high data transfer rates and this already
by using
the host unit’s own BIOS routines,
which the manufacturer of the host unit
or BIOS system has optimized for each
host unit,
for exchanging data.”
(Ex. 1050, p. 5.)
- 122 -
XV. Conclusion.
218. In signing this declaration, I recognize that the declaration will be
filed as evidence in a contested case before the Patent Trial and Appeal Board of
the United States Patent and Trademark Office. I also recognize that I may be
subject to cross-examination in the case and that cross-examination will take place
within the United States. If cross-examination is required of me, I will appear for
cross-examination within the United States during the time allotted for cross-
examination.
- 123 -
I hereby declare that all statements made herein of my own knowledge are
true and that all statements made on information and belief are believed to be true;
and further that these statements were made with the knowledge that willful false
statements and the like so made are punishable by fine or imprisonment, or both,
under Section 1001 of Title 18 of the United States Code.
Executed this 11th day of October, 2016.
Respectfully submitted,
______________________________ Erez Zadok