throbber
Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 1 of 68
`
`IN THE UNITED STATES DISTRICT COURT
`NORTHERN DISTRICT OF CALIFORNIA
`SAN FRANCISCO DIVISION
`
`TRUSTED KNIGHT CORPORATION,
`
`Plaintiff,
`
`v.
`
`INTERNATIONAL BUSINESS MACHINES
`CORPORATION
`
`Defendant.
`
`Case No. 3:19-cv-01206-EMC
`
`Declaration of Dr. Patrick McDaniel
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 1
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 2 of 68
`
`
`
`I, Patrick McDaniel, Ph.D., declare as follows:
`
`1.
`
`I have been retained by Defendant International Business Machines Corporation (
`
`“IBM”) as an expert in this matter.
`
`2.
`
`As part of that engagement I have been asked to offer opinions regarding the
`
`construction of certain terms found in the claims of U.S. Patent No. 9,503,473 (the “’473 patent”).
`
`3.
`
`I am being compensated for my time spent on this matter at a rate of $600 per hour,
`
`and my compensation is in no way contingent upon the outcome of this matter or on the opinions I
`
`offer. All of the opinions expressed in this Declaration are my own.
`
`I.
`
`BASIS FOR OPINIONS
`
`A.
`
`4.
`
`Expert Qualifications
`
`A detailed description of my professional qualifications, including a list of
`
`publications, awards, and professional activities, is contained in my curriculum vitae, a copy of
`
`which is attached as Exhibit A.
`
`5.
`
`My qualifications for forming the opinions in this Declaration are summarized
`
`here. I earned a Ph.D. in Computer Science and Engineering from University of Michigan, Ann
`
`Arbor in 2001. I earned a Bachelor of Science degree in Computer Science from Ohio
`
`University in 1989 and a Master of Science degree, also in Computer Science, from Ball State
`
`University in 1991.
`
`6.
`
`Since 2017, I have been the William L. Weiss Professor of Information and
`
`Communications Technology in the School of Electrical Engineering and Computer Science at the
`
`Pennsylvania State University in University Park, PA. I am also the director of the Institute for
`
`Network and Security Research, and founder and co-director of the Systems and Internet
`
`Infrastructure Security Laboratory, a research laboratory focused on the study of security in
`
`diverse network and computer environments. My research efforts primarily involve computer
`
`systems, network, management, authentication, systems security, and technical public policy.
`
`7.
`
`Before my current position, I was an Assistant Professor (2004-2007), Associate
`
`Professor (2007-2011), Full Professor (2011-2015), and Distinguished Professor of Computer
`
`Science and Engineering at the Pennsylvania State University (2015-2017). Since 2004, I have
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-1-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 2
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 3 of 68
`
`
`
`taught several courses in the field of computer systems, systems programming, networks, and
`
`network and computer security at both the undergraduate and graduate level. I have also taught
`
`extensively in the area of systems and security, with a specific focus on the design,
`
`implementation and analysis of operating systems, device drivers, and the use of anti-malware
`
`software at both the OS and application level. I created and continue to maintain several security
`
`and systems courses for Penn State.
`
`8.
`
`From 2003-2009, I was also an Adjunct Professor at the Stern School of Business
`
`at New York University in New York, NY. At the Stern School of Business, I taught courses in
`
`computer and network security and online privacy.
`
`9.
`
`I am a Fellow of the Association for Computing Machinery (the leading
`
`professional association for computer science) and the Institute for Electrical and Electronics
`
`Engineering (the leading professional association for computer engineering).
`
`10.
`
`I was also the Program Manager (PM) and lead scientist for the Cyber Security
`
`Collaborative Research Alliance (CRA) from 2013 to 2018. The CRA is led by Penn State
`
`University and includes faculty and researchers from the Army Research Laboratory, Carnegie
`
`Mellon University, Indiana University, the University of California-Davis, and the University of
`
`California-Riverside. This initiative is a major research project aimed at developing a new
`
`science of cyber-security for military networks, computers, and installations.
`
`11.
`
`I have served as an advisor to several Ph.D. and master’s degree candidates, several
`
`of whom have gone on to become professors at various institutions such as North Carolina State
`
`University, the University of Oregon, and the Georgia Institute of Technology. I am currently an
`
`advisor to two Ph.D. candidates and a number of master’s students.
`
`12.
`
`Before joining Pennsylvania State University as a professor, I was a software
`
`developer and project manager for companies in the networking industry including Applied
`
`Innovation, Inc. and Primary Access Corporation. I was also a senior researcher at AT&T
`
`Research-Labs. As part of my duties in these industrial positions, I informed, reviewed and
`
`formed corporate policies and practices relating to the deployment and subsequent management of
`
`software systems such as those sold and supported by IBM.
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-2-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 3
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 4 of 68
`
`
`
`13.
`
`I have published extensively in the field of network and security management,
`
`computer systems, authentication, systems security, applied cryptography and network security.
`
`In addition to writing several articles for industry journals and conferences, I have authored
`
`portions of numerous books related to computer systems, applied cryptography and network
`
`security. I have served on the editorial boards of several peer-reviewed journals including ACM
`
`Transactions on Internet Technology, for which I was the Editor-in-Chief. I was also an
`
`Associate Editor for ACM Transactions on Information and System Security and IEEE
`
`Transactions of Software Engineering, two highly regarded journals in the field. A complete list
`
`of my publications in the last 10 years, as well as a list of editorial positions can be found in my
`
`curriculum vitae, which is attached as Exhibit A.
`
`14.
`
`In light of the foregoing, I consider myself to be an expert in the fields of operating
`
`systems, keyboard device drivers, and anti-malware software.
`
`B.
`
`15.
`
`Level of Ordinary Skill in the Art
`
`In my opinion, a person of ordinary skill in the art at the time the ’473 patent was
`
`filed would have at least a bachelor's degree and two years’ work experience in operating systems,
`
`device drivers, or anti-malware software; or equivalent experience. This is the same definition
`
`proposed by Dr. Sorini. Sorini Decl. at ¶ 22.
`
`16.
`
`I meet this criteria and consider myself a person with at least ordinary skill in the
`
`art pertaining to the ’473 patent. I would have been such a person at the time of the filing of the
`
`invention of the ’473 patent.
`
`17.
`
`Notably, Dr. Sorini does not opine that he is a person of ordinary skill in the art.
`
`Nor does he, in my view, appear to meet his own definition. Dr. Sorini has bachelor’s, M.S., and
`
`Ph.D. degrees, all in physics. Sorini Decl. at ¶ 7. He states that his Ph.D. work was “focused
`
`on computational aspects of solid-state physics, including numerical calculations using computer
`
`software.” Id.
`
`18.
`
`Outside of his work at Exponent, where he works as a “technical consultant and
`
`intellectual property matters,” Dr. Sorini does not purport to have any experience whatsoever with
`
`“operating systems, device drivers, or anti-malware software.” Sorini Decl. at ¶¶ 8-18. While
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-3-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 4
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 5 of 68
`
`
`
`he unquestionably has experience with computer software, he does not purport to have any
`
`identifiable experience with operating systems or device drivers. Id.
`
`19.
`
`He notes that he “developed software for programming hardware security modules
`
`via low-level protocols such as I2C1 that incorporates components such as dynamic link libraries,
`
`kernel drivers, and user mode applications.” Sorini Decl. at ¶ 11. The mere fact that I2C
`
`“incorporates” device drivers, however, does not mean that Dr. Sorini has “two years’ work
`
`experience in . . . device drivers” as Dr. Sorini’s own definition requires. Modern operating
`
`systems provide device drivers as part of their based deployment, and user of those drivers would
`
`need not know their design or how they work. Indeed, the design, behavior and use of device
`
`drivers is exceedingly complicated and subtle. For this reason, engineering students generally do
`
`not see device drivers until the last few semesters of their undergraduate career.
`
`20.
`
`Dr. Sorini does not appear to have the requisite work experience with anti-malware
`
`software either. In the context of his work as Exponent, he alleges only that he has “worked
`
`extensively in cybersecurity and network security, including as a technical consultant and expert
`
`for intellectual property matters related to network threat detection, malware, and other types of
`
`cybersecurity threats.” Sorini Decl. at ¶ 10. This is not “two years’ work experience [with] . . .
`
`anti-malware software.” Indeed, in my opinion, expert witness consulting does not qualify as
`
`sufficient “work experience” at all.
`
`21.
`
`In short, it does not appear that Dr. Sorini qualifies as a person of ordinary skill in
`
`the art under his own proposed POSITA standard. In addition, he does not purport to apply the
`
`standard he proposes for a POSITA when rendering his opinions regarding how a POSITA would
`
`understand the claims of the ’473 patent, rendering those opinions, in my opinion, entirely
`
`unreliable. In my opinion, therefore, Dr. Sorini’s declaration should be given no weight.
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`1 I2C is a very simple two wire communication interface developed in 1982 and is often used
`in first and second year introductory courses in Electrical Engineering and Computer Science to
`introduce the basics of computer communications.
`-4-
`
`
`
`
`
`
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 5
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 6 of 68
`
`
`
`II.
`
`LEGAL STANDARDS
`
`22.
`
`In this section, I describe my understanding of certain legal standards. I have
`
`been informed of these legal standards by IBM’s. I am not an attorney and I am relying only on
`
`instructions from IBM’s attorneys for these legal standards.
`
`A.
`
`23.
`
`Person of Ordinary Skill in the Art
`
`I understand that a person having ordinary skill in the art is a hypothetical person
`
`who looks to prior art without the benefit of hindsight.
`
`24.
`
`I understand that the hypothetical person of ordinary skill in the art is presumed to
`
`have knowledge of all references that are sufficiently related to one another and to the pertinent
`
`art, and to have knowledge of all arts reasonably pertinent to the particular problem that the
`
`claimed invention addresses.
`
`25.
`
`I also understand that a person of ordinary skill in the art is also a person of
`
`ordinary creativity, not an automaton. A person of ordinary skill, while not someone who
`
`undertakes to innovate, is capable of drawing inferences and taking creative steps.
`
`B.
`
`26.
`
`Legal Standard for Claim Construction
`
`I have been instructed by counsel that claim construction is a matter of law for the
`
`Court to decide. Claim terms should be given their ordinary and customary meaning within the
`
`context of the patent in which the terms are used, i.e., the meaning that the term would have to a
`
`person of ordinary skill in the art in question at the time of the invention in light of what the patent
`
`teaches.
`
`27.
`
`I understand that to determine how a person of ordinary skill would understand a
`
`claim term, one should look to those sources available that show what a person of skill in the art
`
`would have understood disputed claim language to mean. Such sources include the words of the
`
`claims themselves, the remainder of the patent’s specification, the prosecution history of the patent
`
`(all considered “intrinsic” evidence), and “extrinsic” evidence concerning relevant scientific
`
`principles, the meaning of technical terms, and the state of the art.
`
`28.
`
`I understand that words or terms should be given their plain and ordinary meaning
`
`unless there is no plain meaning or it appears that the inventors were using them to mean
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-5-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 6
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 7 of 68
`
`
`
`something else. In making this determination, however, of paramount importance are the claims,
`
`the patent specification, and the prosecution history.
`
`29.
`
`I understand that, in construing a claim term, one looks primarily to the intrinsic
`
`patent evidence, including the words of the claims themselves, the remainder of the patent
`
`specification, and the prosecution history.
`
`30.
`
`I understand that extrinsic evidence, which is evidence external to the patent and
`
`the prosecution history, may also be useful in interpreting patent claims when the intrinsic
`
`evidence itself is insufficient.
`
`31.
`
`I understand that the claims of a patent define the purported invention. I understand
`
`that the purpose of claim construction is to understand how one skilled in the art would have
`
`understood the claim terms at the time of the purported invention.
`
`III. TECHNOLOGY BACKGROUND
`
`32.
`
`A computer program is a sequence of instructions that tell a computer processor
`
`(CPU) what to do. Although the author of a computer program would be understandably upset if
`
`processors refused to obey the instructions, the blind obedience they are designed to deliver makes
`
`them incredibly vulnerable to misuse. Computer processors will not question the instructions
`
`they are given no matter how harmful. Moreover, processors can run billions of instructions per
`
`second whether a human is monitoring them or not.
`
`33.
`
`Even when they can be monitored, computer instructions that make up a software
`
`program are too large, too complicated, and too cryptic for a human to easily review. Even if
`
`they could be inspected, it is very difficult to ensure that they are not modified at any time before
`
`they reach the processor.
`
`34.
`
`Accordingly, those individuals and organizations that attempt to produce harmful
`
`computer instructions and those that attempt to stop them have been and will always be in an arms
`
`race. Each year, the “bad guys” (e.g., hackers, adversaries) will find a new way to get processors
`
`to do things they should not and each year the “good guys” (e.g., virus protection providers,
`
`security professionals) will have to find new ways to defeat them. This ongoing struggle was
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-6-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 7
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 8 of 68
`
`
`
`already in full swing by the beginning of the 1990’s as the anti-virus community matured both in
`
`academic research and commercial products.
`
`35.
`
`The ’473 patent describes a particular kind of malware called a keylogger. A
`
`keylogger is a software program that is designed to make a record or “log” of the keys by
`
`capturing them as they are entered by a user. ’473 patent at 1:35-48. Keyloggers are not
`
`necessarily malicious. They can be implemented for diagnostic or other beneficial purposes. In
`
`general, however, unauthorized keylogger software is deemed malware. Id. at 1:54-64.
`
`Keyloggers can be implemented in either hardware or software. A hardware keylogger might
`
`take the form of a device that sits between the keyboard and the computer itself. Thus, with a
`
`hardware keylogger, instead of the keyboard being plugged directly into the computer, the
`
`keyboard is plugged into a malicious device which is plugged into the computer. This device
`
`then logs all the user’s keystrokes. Keyloggers can also be implemented in software. Id. at
`
`1:54-64. In principle, software keyloggers are the same as hardware keyloggers. They are
`
`installed at a low-level in a computer so they can access the keyboard’s inputs, utilizing techniques
`
`such as hooking operating system APIs and system drivers, screen capturing, form grabbing,
`
`hook-based keystroke logging, or other methods. Id. at 1:61-64. As a consequence, they have
`
`early access to the keyboard, and can capture its keystrokes. However, both low-level keylogger
`
`malware software and hardware keyloggers are indiscriminate in what they log. Therefore, the
`
`vast majority of the information captured is not useful to a cybercriminal, and the sensitive
`
`information targeted by the cybercriminal would be difficult to impossible to identify. Id. at
`
`2:14-24.
`
`36.
`
`One type of keylogging software that utilizes the indiscriminate method of
`
`keylogging is a hook-based keylogger. Id. at 1:64-2:13. This keylogging software uses a
`
`software method called a “hook” to, essentially, install itself immediately next to the keyboard’s
`
`hardware drivers. Id. at 1:64-2:3. The hook acts as a filter and, as a result of this filter,
`
`whenever the keyboard hardware driver performs an operation, the hook is triggered, and the
`
`keylogger is able to capture the information. Id. at 2:3-6 Thus, when a user directs his browser to
`
`a website, the filter registers that keylogging would be timely, and records all keystrokes passing
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-7-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 8
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 9 of 68
`
`
`
`through the operating system’s hardware drivers. Id. One method described by the ’473 patent
`
`monitors and records each key press that generates an Interrupt Request (IRQ) to the motherboard.
`
`Id. at 2:8-11. The keylogger will then save this data, which can be delivered to a cybercriminal
`
`by some means. Id. at 2:11-13. However, because this type of keylogger is triggered no matter
`
`what website is visited, the captured data is indiscriminate and voluminous, and not necessarily
`
`useful to a cybercriminal. Id. at 2:14-21.
`
`37.
`
`Cybercriminals developed a way around this problem by developing keylogger
`
`malware that not only interacts with the hardware keyboard drivers, but also interacts with
`
`software web browsers. Id. at 2:26-31. Since sensitive information such as banking or credit
`
`card numbers, or usernames and passwords are typically the cybercriminal’s target, keylogger
`
`software can be developed that more accurately targets the sensitive information. Id. at 2:27-34.
`
`Form grabbers take advantage of the knowledge that the targeted sensitive information will most
`
`likely be implemented in a “form” in a web page. Id. Since web browsers have defined code,
`
`protocols, and functions for implementing and utilizing forms, a savvy cybercriminal can develop
`
`a keylogger that targets these forms. Id. at 2:39-47.
`
`38.
`
`Form grabbing keyloggers place themselves, effectively, between the internet
`
`browser and the called web page. Id. at 2:48-49. As a consequence, the form grabber is able to
`
`record all data passed to the form such as credit card numbers at the same time it is being passed
`
`by the browser to the server. Id. at 2:51-52.
`
`39.
`
`By way of emphasis, hook-based based keyloggers are generally operating within
`
`the operating system itself (similar to a driver) while form grabbing keyloggers are generally
`
`operating in the application space (within the browser program itself and outside of the privileged
`
`operating system). Id. at 2:59-61. Additionally, they differ in that hook-based key loggers
`
`capture each character as it is pressed, while form grabbers wait for form fields to be filled, and
`
`then retrieve the information directly from the form. Id. at 2:62-64.
`
`40.
`
`At a high-level, the systems containing these different types of keyloggers are
`
`depicted in Figure 1:
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-8-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 9
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 10 of 68
`
`
`
`
`
`41.
`
`Described as “the generalized location[s]” of components of “the environment in
`
`which embodiments of the invention operate,” this figure depicts at a high level the flow of
`
`information and the types of keyloggers described above, all of which the ’473 patent purports to
`
`counter. Id. at 5:14-28. Keylogger 115 is a generalization of the location of a hook-based key
`
`logger, while keylogger 135 is a generalization of the location of a form grabbing keylogger. See
`
`id.
`
`42.
`
`The ’473 patent claims the use of “API stacks,” which I explain herein.
`
`Application programming interfaces, or APIs, are a common and widely used computer science
`
`concept. An API is the interface by which one software program, including the operating
`
`system, interacts with another. Microsoft Windows has APIs, as does Microsoft Office. This
`
`allows other applications to access the functionality, including the system drivers, necessary to
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-9-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 10
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 11 of 68
`
`
`
`perform their intended function. More explicitly, for security, reliability and performance
`
`reasons applications are not generally allowed to access system operations, such as reading and
`
`writing files directly. Instead, applications must use the operating system’s API to access system
`
`operations. Accordingly, a list of operating system API’s must be published so that applications
`
`can perform their programmed tasks. While not all applications have API’s, most that do provide
`
`them for modification, extension, or other dynamic interactions. As stated previously, Internet
`
`Explorer provides API’s so that plugins called Browser Helper Objects can provide customized
`
`additional functionality.
`
`43.
`
`Stacks are another common computer science concept. Stacks are a type of 1-
`
`dimensional array of information. In a stack, the last element in is the first element out. This is
`
`called a LIFO (last-in, first-out) data structure. A stack can be contrasted with a queue, in which
`
`the first element in is the first element out. In effect, the stack defines the ordering of whatever
`
`information it is being used to store. For example, a stack might be used to keep track of running
`
`processes, allowing shorter term processes which were initiated more recently to finish first.
`
`44.
`
`Not all software has the same access to the operating system and other functions in
`
`a running software system. In this way, a stack can be used to define the relationship between
`
`privileged interactions in the software system. The differences between privileged access levels
`
`are commonly discussed to in the context of protection rings, which provide a visualization for
`
`these access levels. The lowest, most protected, and most privileged, level is the 0-ring level.
`
`The 0-ring level has direct access to the system’s hardware functions. It is commonly referred to
`
`as the “kernel,” or “kernel level.” The ’473 patent describes this precise arrangement. ’473
`
`patent at 8:50-53. In contrast, the highest, or least protected, level is the 3-ring level, known as
`
`the “application level” or “user space”. The 3-ring level is where a software application such as a
`
`web browser or a word processing program resides. The ’473 patent describes this as well. Id.
`
`at 8:57-60.
`
`45.
`
`The relationship between ring levels is shown in Figure 3, which depicts a “Typical
`
`Web Browser API Stack,” a “Web Browser API Stack with Keylogger,” and a “Web Browser API
`
`Stack with Anti-Keylogger and Keylogger”:
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-10-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 11
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 12 of 68
`
`
`
`
`
`46.
`
`In modern computers, certain protections are enforced at different ring levels, such
`
`as allowing certain highly sensitive operations only in ring-0 or only allowing accessing certain
`
`memory locations in ring-0. For example, an operating system may prevent a 3-ring web
`
`browser from executing the “read” command for reading directly from memory. Instead, to
`
`execute this command, it will execute a “trap” to kernel mode through a variety of API calls.
`
`This sequence of API calls accessed by the application, including the eventual “read” command at
`
`the kernel level, is a stack of APIs, or an “API stack.”
`
`IV.
`
`Summary of Opinions
`
`47.
`
`I have reviewed the ’473 patent and its prosecution history. I understand that the
`
`claims are construed from the perspective of a person of ordinary skill in the art, using the
`
`specification as a guide to the meaning of the claims. Based on that understanding, in my
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-11-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 12
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 13 of 68
`
`
`
`opinion, the term “most privileged access level” should be construed as “kernel level,” and the
`
`term “an application programming interface (API) stack” means either “API stack accessed by an
`
`application including the operating system’s API” or “an ordered collection of APIs accessed by
`
`an application including the operating system’s API.”
`
`V.
`
`CLAIM CONSTRUCTION
`
`48.
`
`In conducting my analysis of the construction of the claims of the ’473 patent, I
`
`have applied the legal understandings set out in Section II of this Declaration.
`
`49.
`
`I understand that Trusted Knight previously asserted U.S. Patent No. 8,316,445, the
`
`great-grandparent of the ’473 patent, against IBM in a case filed in the District of Delaware.
`
`Trusted Knight Corp. v. Int’l Bus. Mach. Co. et al., C.A. No. 1:14-cv-01063-LPS (D. Del.)
`
`(“Delaware Case”). I understand that on June 12, 2015, the parties jointly filed a Joint Claim
`
`Construction Chart in that case. (Delaware Case, Dkt. 49).
`
`50.
`
`In that claim construction chart, I understand that the parties provided an agreed
`
`construction for “zero-ring level” or “0-Ring level” that is pertinent to the terms of the ’473 patent
`
`disputed in this case:
`
`Agreed Construction
`most privileged access level
`
`’445 Patent Term
`zero-ring level /
`0-Ring level
`
`
`51.
`
`Trusted Knight does not address the fact that “most privileged access level” is an
`
`agreed construction for “0-Ring level” in its brief.
`
`52.
`
`In that claim construction chart, I further understand that the parties provided
`
`disputed constructions for the phrase “an application programming interface (‘API’) stack of a
`
`browser” that is pertinent to the terms of the ’473 patent disputed in this case:
`
`’445 Patent Term
`
`IBM Proposed Construction
`
`an application
`programming
`interface (“API”)
`stack of a browser
`
`
`the API stack accessed by a browser
`when the browser uses the operating
`system’s API
`
`Trusted Knight Proposed
`Construction
`the interfaces for process and
`library functions of a browser
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`
`
`
`
`
`
`-12-
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 13
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 14 of 68
`
`
`
`53.
`
`I understand that on July 31, 2015, both IBM and Trusted Knight submitted
`
`opening claim construction briefs in which they argued their respective proposed constructions for
`
`the API stack term. (Delaware Case, Dkts. 58, 59).
`
`54.
`
`I understand that on August 28, 2015, before the parties submitted their answering
`
`claim construction briefs, the parties jointly filed a Joint Supplemental Claim Construction Chart
`
`in the Delaware Case. (Delaware Case, Dkt. 68). In that claim construction chart, I understand
`
`that the parties provided an agreed construction for the API stack term that is pertinent to the terms
`
`of the ’473 patent disputed in this case:
`
`Agreed Construction
`API stack accessed by a browser including the operating system’s API
`
`’445 Patent Term
`an application
`programming
`interface (“API”)
`stack of a browser
`
`
`55.
`
`The construction the parties agreed to is nearly identical to the construction
`
`originally proposed by IBM. Trusted Knight does not address this prior agreement in its brief.
`
`56.
`
`I understand that on February 13, 2020, the parties jointly filed a Joint Claim
`
`Construction Chart. (Dkt. 59). I understand that chart includes the parties’ proposed
`
`constructions for each of the disputed constructions and includes both intrinsic and extrinsic
`
`evidence in support of those constructions. (Dkts. 49-1, 49-2).
`
`A.
`
`57.
`
`Terms Requiring Construction
`
`In my opinion, the claim terms identified below, when viewed in light of the
`
`specification and prosecution history, should be construed as IBM proposes.
`
`1.
`
`“most privileged access level”
`
`58.
`
`The claim limitation containing the phrase “most privileged access level” recites, in
`
`full, “installing and maintaining an anti-key logger at a most privileged access level for browser
`
`events in an Application Programming Interface (API) stack.” The context surrounding the
`
`disputed claim term is important because, in isolation and without further context, “most
`
`privileged access level” is meaningless to a person having ordinary skill in the art. A person of
`
`ordinary skill in the art, seeing that term in isolation would be forced to ask: the “most privileged
`
`1 2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`18
`
`19
`
`20
`
`21
`
`22
`
`23
`
`24
`
`25
`
`26
`
`27
`
`28
`
`access level of what?” Only with the added context provided by the claim does its meaning
`-13-
`
`
`
`
`
`
`
`Case No. 3:19-cv-01206-EMC
`DECLARATION OF DR. PATRICK MCDANIEL
`
`TK-2032 - Page 14
`
`

`

`Case 3:19-cv-01206-EMC Document 69 Filed 04/10/20 Page 15 of 68
`
`
`
`become clear: it is the most privileged access level of an API stack, and a person of ordinary skill
`
`in the art would understand that level is the kernel level.
`
`59.
`
`By itself, “most privileged access level” is not a term with a commonly understood
`
`meaning or a dictionary definition. Nevertheless, it is a term with a readily apparent meaning to
`
`a person of ordinary skill in the art, because the specifications of the ’473 patent and the ’445
`
`patent that it incorporates by reference are clear that the level with the most privileges—i.e., the
`
`“most privileged” level—is the “0-ring” or “ring 0” level, also known as the “kernel level.”
`
`60.
`
`Although “most privileged access level” is not a commonly used term, in context it
`
`is readily understandable to a person of ordinary skill in the art, for several reasons.
`
`61.
`
`First, during the Delaware Case involving the ’445 patent, the parties agreed that
`
`“most privileged access level” was a construction for the “0-Ring level” claim term used in that
`
`patent. The ’473 patent was f

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket