throbber
Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`UNITED STATES PATENT AND TRADEMARK OFFICE 




`BEFORE THE PATENT TRIAL AND APPEAL BOARD 





`ServiceNow, Inc. 
`Petitioner 

`v. 

`BMC Software, Inc. 
`Patent Owner 

`U.S. Patent No. 5,978,594 
`Filing Date: March 6, 1997 
`Issue Date: November 9, 1999 

`Title: SYSTEM FOR MANAGING COMPUTER RESOURCES ACROSS A DISTRIBUTED COMPUTING 
`ENVIRONMENT BY FIRST READING DISCOVERY INFORMATION ABOUT  
`HOW TO DETERMINE SYSTEM RESOURCES PRESENCE 


`DECLARATION OF DAVID KLAUSNER 

`Inter Partes Review No. 2015‐__ 

`

`

`
`ServiceNow's Exhibit No. 1002
`
`001
`
`

`

`Table of Contents 

`
`Page 
`
`INTRODUCTION AND QUALIFICATIONS ........................................................ 1 
`A. 
`Qualifications and Experience ............................................................ 1 
`B.  Materials Considered .......................................................................... 3 
`PERSON OF ORDINARY SKILL IN THE ART ...................................................... 4 
`RELEVANT TECHNOLOGY BACKGROUND ...................................................... 5 
`A. 
`Computer and Network Management ............................................... 6 
`B. 
`High‐Level Computer Programming Languages.................................. 7 
`C. 
`“Interpreting” Computer Program Instructions................................ 11 
`THE ’594 PATENT’S METHOD OF DETERMINING PRESENCE OF 
`RESOURCES ................................................................................................. 13 
`A. 
`The Specification .............................................................................. 13 
`The Claims of the ’594 Patent ........................................................... 18 
`B. 
`C. 
`Claim Construction ........................................................................... 19 
`1. 
`“Resource”.............................................................................. 20 
`2. 
`“Discovery Information” ......................................................... 21 
`3. 
`“Uninterpreted Form” ............................................................ 24 
`APPLICATION OF THE PRIOR ART TO THE CLAIMS OF THE ’594 
`PATENT ....................................................................................................... 26 
`A. 
`Brief Summary of Prior Art Applied Against Claim 1 ......................... 27 
`1. 
`Brief Summary of Jessen [Ex. 1003] ........................................ 27 
`2. 
`Brief Summary of Coffin [Ex. 1004] ........................................ 29 
`3. 
`Brief Summary of Inside Macintosh [Ex. 1005]....................... 29 
`Each Limitation of Claim 1 is Disclosed or Suggested by the 
`Prior Art ............................................................................................ 30 
`(a) 
`“reading, from a storage device coupled to the 
`computer system, discovery information about 
`how to determine whether the resource is present 
`on the computer system” (Claim 1(a)) ......................... 34 
`‐i‐
`
`B. 
`
`I. 
`
`II. 
`III. 
`
`IV. 
`
`V. 
`

`

`
`ServiceNow's Exhibit No. 1002
`
`002
`
`

`

`Table of Contents 
`(continued) 
`
`Page 
`
`(b) 
`
`“finding, on the storage device, instructions that 
`are referred to in the discovery information, that 
`are written in an interpretable high‐level 
`computer programming language, and that are 
`stored on the storage device in their 
`uninterpreted form” (Claim 1(b)) ................................. 48 
`“interpreting the instructions for the purpose of 
`collecting data for use in determining whether the 
`resource is present on the computer system” 
`(Claim 1(c)) ................................................................... 53 
`“determining, responsive to the collected data, 
`whether the resource is present on the computer 
`system” (Claim 1(d)) ..................................................... 60 
`CONCLUSION .............................................................................................. 64 
`
`(c) 
`
`(d) 
`
`‐ii‐
`
`VI. 

`

`

`
`ServiceNow's Exhibit No. 1002
`
`003
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`I, David Klausner, declare as follows: 
`
`I.
`
`INTRODUCTION AND QUALIFICATIONS 
`A.
`1.
`
`Qualifications and Experience 
`
`I  am  currently  employed  as  an  independent  computer  expert  and 
`
`consultant.  I  have  a  bachelor’s  degree  in  Mathematics,  a  master’s  of  science 
`
`degree in Electrical Engineering, and over 47 years of professional experience in 
`
`the areas of computer networking, security and software. During that time, I have 
`
`worked as a consultant, as an expert, as an engineer, as a software developer, as 
`
`a manager, as a company executive, and as a forensic investigator.  
`
`2.
`
`Specific  computer‐related  technologies  that  I  have  worked  with 
`
`include  networks,  network  devices  such  as  routers  and  switches,  internet,  web 
`
`technologies 
`
`(such  as  servers,  clients,  messaging,  scripts,  applets,  and 
`
`applications), protocols, videoconferencing systems, operating systems, computer 
`
`hardware, source code, and programming languages.  
`
`3.
`
`In addition, my working experience includes developing software for, 
`
`among  other  things,  network  data  communications,  business  applications,  data 
`
`management,  database  design,  client/server,  compilers,  parsers,  programming 
`
`languages,  user  interfaces,  quality  assurance,  real‐time  applications,  artificial 
`
`1 
`
`ServiceNow's Exhibit No. 1002
`
`004
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`intelligence,  utility  programs,  diagnostics,  machine  simulators,  performance 
`
`analyzers, EDI applications, general ledger, inventory control, software auditing, 
`
`manufacturing  processes,  insurance,  financial,  and  statistical  process  control.  I 
`
`have designed and developed, as well as managed and assisted in the design and 
`
`development of, computer hardware and software systems. Some of my clients 
`
`have  been  computer  software  companies,  including  Symantec,  Adobe,  Nortel, 
`
`Intel Corp., Hewlett‐Packard, and IBM. 
`
`4. My  experience 
`
`includes  decades  of  software  development, 
`
`consulting  and  expert  testimony  experience  in  many  aspects  of  the  computer 
`
`field, from microcomputers to mainframes, and in all areas of programming. I also 
`
`have  experience  as  an  engineer,  developer,  supervisor,  project  manager, 
`
`department  manager,  middle  manager,  and  company  executive,  as  well  as 
`
`experience in forensic investigation and reverse engineering. 
`
`5.
`
`Additional  details  of  my  background  are  set  forth  in  my  curriculum 
`
`vitae, attached as Exhibit A to this Declaration, which provides a more complete 
`
`description of my educational background and work experience. 
`
`2 
`
`ServiceNow's Exhibit No. 1002
`
`005
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`6.
`
`I am being compensated for the time I have spent on this matter at 
`
`the rate of $650 per hour. My compensation does not depend in any way on the 
`
`outcome of this proceeding.  
`
`B. Materials Considered 
`7.
`
`The  analysis  that  I  provide  in  this  Declaration  is  based  on  my 
`
`education  and  experience  in  the  field  of  computer  systems,  as  well  as  the 
`
`documents I have considered, including U.S. Patent No. 5,978,594 (“’594 patent”) 
`
`[Ex.  1001],  which  states  on  its  face  that  it  issued  from  an  application  filed  on 
`
`March 6, 1997.  The filing date of the earliest application appearing on the face of 
`
`the ’594 patent is September 30, 1994.  For purposes of this Declaration, I have 
`
`assumed  September  30,  1994  as  the  effective  filing  date  of  claim  1  of  the  ’594 
`
`patent.  I have also reviewed the prosecution history of the ’594 patent. 
`
`8.
`
`I  reviewed  various  documents  dated  prior  to  September  1994 
`
`describing the state of the art.  As I explain below, some of these documents fall 
`
`into two categories.  For the first category of documents, I rely upon the following 
`
`as literally disclosing limitations of the ’594 patent: 
`
`Exhibit No. 
`
`Description of Document 
`
`1003 
`
`U.S. Patent No. 5,410,681 to Jay A. Jessen et al. 
`
`3 
`
`ServiceNow's Exhibit No. 1002
`
`006
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`Exhibit No. 
`
`1004 
`
`Description of Document 
`
`Excerpts from Stephen Coffin, UNIX System V, Release 4: The 
`Complete Reference (1990) 
`
`1005 
`
`Excerpts from Inside Macintosh: Files, Apple Computer, Inc. (1992) 
`

`
`9.
`
`For  the  second  category  of  documents,  listed  below,  I  have  cited 
`
`them in this Declaration for background and claim construction purposes, and to 
`
`show the general state of the art as of September 1994: 
`
`Exhibit No. 
`
`Description of Document 
`
`1006 
`
`1007 
`
`1008 
`
`Ethan Winer, A Quick Look at QuickBASIC, PC Magazine, Vol. 6, No. 
`1 (January 13, 1987), at 285‐93 
`
`Excerpts from Microsoft Press Computer Dictionary (1991) 
`
`RFC 1067, A Simple Network Management Protocol (August 1988) 
`

`II.
`
`PERSON OF ORDINARY SKILL IN THE ART 
`
`10.
`
`I understand that an assessment of claims of the ’594 patent should 
`
`be undertaken from the perspective of a person of ordinary skill in the art as of 
`
`the earliest claimed priority date, which I understand is September 30, 1994. 
`
`11.
`
`In my opinion, a person of ordinary skill in the art as of September 
`
`1994  would  possess  at  least  a  bachelor’s  degree  in  electrical  engineering  or 
`
`computer science (or equivalent degree or experience) with at least two years of 
`
`4 
`
`ServiceNow's Exhibit No. 1002
`
`007
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`experience  in  computer  programming.   This   programming  experience  would 
`
`include  an  understanding  of  at  least  the  following:  (a)  using  and  incorporating 
`
`high‐level  interpreted  programming  languages  (such  as  interpreted  BASIC  or 
`
`interpreted “scripting” languages), and (b) obtaining information about a resource 
`
`on  a  computer  system  (whether  local  or  networked),  such  as  a  hardware 
`
`component,  software  application  or  other  resource.   As   I  explain  in  the 
`
`technology background that I provide in Part III below, both of these areas were 
`
`well‐established and understood by September 1994. 
`
`12. Although  my  qualifications  and  experience  exceed  those  of  the 
`
`hypothetical person having ordinary skill in the art defined above, my analysis and 
`
`opinions  regarding  the  ’594  patent  have  been  based  on  the  perspective  of  a 
`
`person of ordinary skill in the art as of September 1994. 
`
`III.
`
`RELEVANT TECHNOLOGY BACKGROUND 
`
`13. One of the key purposes of the alleged invention of the ’594 patent is 
`
`to provide a method and apparatus “for centrally monitoring and managing the 
`
`computers, applications and other resources present in a distributed computing 
`
`environment.”   (’594,   Ex.  1001,  1:15‐18.)    In  this  section,  I  provide  a  brief 
`
`background of the state of the art pertinent to the ’594 patent. 
`
`5 
`
`ServiceNow's Exhibit No. 1002
`
`008
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`Computer and Network Management 
`
`A.
`14. By no later than the 1980s, computers had become common tools for 
`
`larger  businesses  and  other  enterprises.   Technological   advances  such  as  the 
`
`invention  of  the  microprocessor  in  the  early  1970s,  and  the  development  of 
`
`graphical user interfaces in the 1980s, reduced the size and price of computers 
`
`and  made  them  easier  to  use.   By   the  1980s,  businesses  frequently  used 
`
`computers that were connected to a network (commonly known as a “Local Area 
`
`Network” (LAN)), which allowed the computers to communicate with each other 
`
`using a network communications technology such as Ethernet. 
`
`15. As  the  number  of  devices  connected  to  computer  networks 
`
`increased, the need for software tools to monitor and manage those devices also 
`
`increased.  An entire industry, often referred to as “network management,” grew 
`
`out of this need and was well established by September 1994. 
`
`16.
`
`For example, in August 1988, a standardized protocol known as the 
`
`Simple Network Management Protocol (“SNMP”) was introduced and remains in 
`
`wide use today.  (See RFC 1067, A Simple Network Management Protocol (August 
`
`1988), Ex. 1008, § 1.)  SNMP, as its name suggests, provides a simple protocol that 
`
`allows one “network element” (such as a computer) to gather information about 
`
`6 
`
`ServiceNow's Exhibit No. 1002
`
`009
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`and monitor another network element.  The protocol provides a means by which 
`
`“management information for a network element may be inspected or altered by 
`
`logically  remote  users.”   ( Id.,  §  1.)    Each  network  element  contains  a  software 
`
`program  known  as  an  “agent”  that  is  responsible  for  responding  to  SNMP 
`
`requests  from  at  least  a  network  management  “station.”    The  agent  can,  for 
`
`example,  gather  information  about  the  network  element  or  alter  the  element’s 
`
`current  state  or  configuration  in  response  to  commands  issued  by  the  network 
`
`management station.  (Id., § 3.) 
`
`High‐Level Computer Programming Languages 
`
`B.
`17. Computer  programmers  typically  write  computer  programs  using  a 
`
`computer  “programming 
`
`language.” 
`
` The 
`
`term  “computer  programming 
`
`language”  is  generally  understood  as  referring  to  a  series  of  statements  and 
`
`syntactical rules used to create computer programs.  These  computer programs, 
`
`in turn, instruct the computer to perform specific tasks. 
`
`18. A  common  category  of  programming  languages  is  known  as  “high‐
`
`level”  programming  languages.   The  term  “high‐level”  does  not  refer  to  the 
`
`notion that the programming language is difficult or complex.  To the contrary, 
`
`“high‐level”  programming  languages  are  intended  to  simplify  and  expedite  the 
`
`7 
`
`ServiceNow's Exhibit No. 1002
`
`010
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`task of developing computer software.  As I explain in more detail below, a high‐
`
`level programming language allows a computer programmer to build a computer 
`
`program  using  instructions  and  syntax  that  resemble  the  structure  of  natural 
`
`languages  such  as  English.    (See  Ethan  Winer,  A  Quick  Look  at  QuickBASIC,  PC 
`
`Magazine, Vol. 6, No. 1 (January 13, 1987), Ex. 1006, (“Winer”) at 287 (“High‐level 
`
`languages  were  developed  to  allow  programmers  to  perform  complicated  tasks 
`
`using  English‐like  commands.”).)   By   1994,  numerous  high‐level  computer 
`
`programming  languages  were  in  widespread  use  including  C,  BASIC,  Pascal, 
`
`COBOL, and many others.  
`
`19. A  key  feature  of  any  high‐level  programming  language  is  that  it 
`
`provides  a  level  of  abstraction  from  the  technical  details  of  the  computer’s 
`
`processor.  As explained in the definition of “high‐level language” in the Microsoft 
`
`Press Computer Dictionary (1991): 
`
`high‐level  language   A  computer  language  that  provides  a  certain 
`level  of  abstraction  from  the  underlying  machine  language  through 
`the  use  of  declarations,  control  statements  and  other  syntactical 
`structures.  In practice, the term comprises every computer language 
`above assembly language. Compare assembly language. 
`
`8 
`
`ServiceNow's Exhibit No. 1002
`
`011
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`(Microsoft Press Computer Dictionary (1991), Ex. 1007, at 174 (bold and italics in 
`
`original).)   This   definition  is  consistent  with  how  one  of  ordinary  skill  in  the  art 
`
`would  have  understood  the  phrase,  “high‐level  computer  programming 
`
`language.”   
`
`20.
`
`The  term  “assembly  language”  in  the  definition  above  (sometimes 
`
`referred to as “machine language” because it typically corresponds one for one 
`
`with  binary  machine  code)  is  generally  understood  as  referring  to  a  low‐level 
`
`programming  language  in  which  the  programmer  must  specify  the  precise 
`
`instructions to be executed by the computer’s processor.  As explained by Winer:  
`
`“Before high‐level languages such as FORTRAN, COBOL, and BASIC were invented, 
`
`programmers  had  to  communicate  with  their  computers  directly  in  machine 
`
`language, the computer’s native tongue.”  (Winer, Ex. 1006, at 287.)  Assembly or 
`
`machine language, therefore, generally provides little to no abstraction from the 
`
`details of the underlying processor.  (Microsoft Press Computer Dictionary (1991), 
`
`Ex. 1007, at 23 (“assembly language  A type of low‐level programming language in 
`
`which  each  statement  corresponds  directly  to  a  single  machine  instruction.  
`
`Assembly languages are thus specific to a given processor.”) (bold in original).)   
`
`9 
`
`ServiceNow's Exhibit No. 1002
`
`012
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`21. A  processor’s  “assembly 
`
`language”  generally 
`
`includes  specific 
`
`instructions  for  reading  from  or  writing  to  memory,  performing  mathematical 
`
`calculations, or performing many other common operations.  The table below, for 
`
`example,  shows  how  adding  two  numbers  together  (assigned  to  the  variables 
`
`“num_1” and “num_2”), and putting the result of that computation into a variable 
`
`called “result,” could be accomplished using a high‐level programming language 
`
`(on the left) and a processor’s native assembly instruction (on the right): 
`
`High‐Level Language 
`
`Assembly Language 
`
`result = num_1 + num_2; 
`
`mov ax, [num_1]  
`add ax, [num_2] 
`mov [result], ax 
`

`
`22.
`
`In  the  example  above,1  the  statement  on  the  left  could  be  in  any 
`
`number  of  high‐level  programming  languages  such  as  C,  and  represents  the 
`
`straightforward instruction that the variable “result” be assigned the sum of the 
`
`values in “num_1” and “num_2.”  The right shows how that same operation could 
`
`                                               
`
`  1
`
`   I have omitted specific implementation details such as the variable declarations 
`for num_1 and num_2, and the initial value assignments for the variables num_1, 
`num_2, because they are not material to the discussion in the text. 
`
`10 
`
`ServiceNow's Exhibit No. 1002
`
`013
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`be accomplished using the Intel 80x86 assembly language instruction set used by 
`
`standard  IBM  PC  compatible  computers.   As   shown,  the  assembly  language 
`
`version  is  more  complicated.   It   employs  processor‐specific  instructions  such  as 
`
`“mov” and “add” that, among other things, use a particular processor register in 
`
`the Intel instruction set (“ax”) as a temporary workspace to perform the required 
`
`operations.   But   the  high‐level  programming  language  version  on  the  left  need 
`
`not concern itself with these details.  It provides a simplified and more intuitive 
`
`syntax that is much easier for human beings to understand.2 
`
`“Interpreting” Computer Program Instructions 
`
`C.
`23. Another concept described in the ’594 is the notion of “interpreting” 
`
`the instructions of a computer program.  Interpretation is a well‐known way to 
`
`execute a computer program written in a high level programming language.   
`
`                                               
`
` 2
`
`   The  example in the text shows a highly simplified example in which a single 
`high‐level 
`language  statement  translated 
`into  three  assembly 
`language 
`instructions.  In most cases, however, the abstraction provided by the high‐level 
`language  will  result  in  a  higher  ratio.    Many  high‐level  computer  programming 
`languages  (such  as  object‐oriented  languages)  provide  single  instructions  that 
`might  require  hundreds,  if  not  thousands,  of  assembly  language  instructions  to 
`carry out. 
`
`11 
`
`ServiceNow's Exhibit No. 1002
`
`014
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`24. As Winer  explains, “[h]igh‐level languages were  developed to allow 
`
`programmers to perform complicated tasks using English‐like commands.  Since 
`
`computers  can  really  understand  only  strings  of  binary  numbers,  however, 
`
`humanly comprehensible statements [in a high‐level programming language] . . . 
`
`must be transformed into a series of steps denoted by binary strings.”  (Winer, Ex. 
`
`1006, at 287.)  Interpretation is one way of performing this transformation. 
`
`25.
`
`The 
`
`idea  behind 
`
`interpretation 
`
`is  straightforward. 
`
`  Generally 
`
`speaking,  a  software  program  known  as  an  “interpreter”  reads  a  computer  file 
`
`(i.e.  a  text  file)  that  contains  high‐level  instructions  to  be  executed.   The  
`
`interpreter identifies each instruction, executes it, and then moves onto the next 
`
`instruction.  As explained in the Microsoft Press Computer Dictionary: 
`
`interpret  To decode and execute a statement or an instruction.  The 
`term usually refers to executing a program by decoding a statement, 
`executing it, decoding the next statement, executing it, and so on.  In 
`contrast,  compilation 
`involves  decoding  all  statements 
`into 
`executable  code;  executing  that  code  is  a  separate  step.    Compare 
`compiler; see also interpreter. 
`
`12 
`
`ServiceNow's Exhibit No. 1002
`
`015
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`(Microsoft Press Computer Dictionary (1991), Ex. 1007, at 194 (bold and italics in 
`
`original).)   This definition is generally consistent with how one of ordinary skill in 
`
`the art would have understood “interpreting” instructions as of September 1994. 
`
`26. As  shown  by  the  definition  above,  “compilation”  refers  to  another 
`
`well‐known  way  of  executing  a  program  written  in  a  high‐level  programming 
`
`language.   Compilation   involves  translating  the  high‐level  instructions  of  a 
`
`computer program into machine‐executable software code before the program is 
`
`executed.  (Id. at 197, 73‐74 (definitions of “compile” and “compiler”).)  Because 
`
`the  compilation  process  takes  place  before  execution  of  the  program,  and 
`
`typically  occurs  only  once,  “compiled”  programs  generally  execute  faster  than 
`
`“interpreted” programs because no interpreter is required.  (Winer, at 287.) 
`
`IV.
`
`THE ’594 PATENT’S METHOD OF DETERMINING PRESENCE OF RESOURCES 
`A.
`27. My  Declaration  addresses  only  claim  1  of  the  ’594  patent.   The 
`
`The Specification 
`
`specification contains more than six columns purporting to describe the alleged 
`
`invention, but only a portion of that disclosure pertains to what is recited in claim 
`
`1.  I will therefore focus my discussion of the patent specification on the portions 
`
`pertain to the subject matter of claim 1. 
`
`13 
`
`ServiceNow's Exhibit No. 1002
`
`016
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`28.
`
`The  ’594  patent  generally  relates  to  a  method  for  monitoring  the 
`
`computers,  applications  and  other  “resources”  present  in  a  computer  system.  
`
`(’594, 1:15‐19; 9:25‐41 (claim 1).)  The  specification defines the word “resource” 
`
`broadly to include almost any type of hardware or software used by a computer: 
`
`in  this 
`is  used 
`it 
`Note  that  the  word  “resource,”  wherever 
`specification,  is  intended  in  its  broad  sense  to  include,  without 
`limitation,  hardware  such  as  computers,  printers,  memory  or  other 
`network  devices,  applications  such  as  database  management 
`systems,  and  logical  devices  such  as  logical  disk  drives  or  filing 
`systems. 
`
`(’594, 3:4‐9.)  The basic architecture of the claimed method is shown in Figure 1: 
`
`(’594, Fig. 1.) 
`

`
`14 
`
`ServiceNow's Exhibit No. 1002
`
`017
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`29.
`
`Figure 1 above shows a network management computer system 10 
`
`on the left that is connected via a network 12 to server computer system 14 on 
`
`the right of the figure.  The network management computer system has a storage 
`
`device 24  that includes network management software 34,  knowledge modules 
`
`38  and  script  programs  40.    The  “server  computer  system”  14  on  the  right 
`
`includes agent software 36 and script programs 42. 
`
`30. Knowledge module 38 in the network management computer system 
`
`10 contains information about how to monitor particular resources.  (’594, 3:57‐
`
`64, 7:35‐44.)  “There are two basic broad categories of information represented in 
`
`a  knowledge  module.  Category  92  comprises  information  related  to  computers 
`
`that may be present on any given network.”  (’594, 5:28‐32 (emphasis added).)  
`
`The second category 94 “comprises information related to applications that might 
`
`be  present  on  the  computers  in  any  given  network.”   (’594,   5:33‐35  (emphasis 
`
`added).)  This second category also includes “discovery information [that] relates 
`
`to which application classes are desired to be searched for, and also to the names 
`
`and locations of the script programs required to do the searching.”  (’594, 5:58‐
`
`61.)  
`
`15 
`
`ServiceNow's Exhibit No. 1002
`
`018
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`31.
`
`The agent software 36 in the server computer system 14 (on the right 
`
`of  Figure  1)  also  maintains  a  knowledge  database.   This   database  is  shown  in 
`
`Figure 3 below: 
`

`(‘594,  Fig.  3,  5:1‐5.)   The  agent  software  system  36  may  also  include  a  process 
`
`cache manager 76, which maintains a process cache 77.  “Agent software system 
`
`36 fills process cache 77 periodically with information concerning the processes 
`
`[(i.e.,  applications)]  that  are  present  on  the  host  server  computer  at  any  given 
`
`moment.”   (‘594,   5:10‐13.)    The  application  discovery  manager  78,  can  then 
`
`access the process cache to determine whether resources, i.e., applications, are 
`
`present on the server running that agent.  (‘594, 5:14‐18.)   
`
`16 
`
`ServiceNow's Exhibit No. 1002
`
`019
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`32.
`
`For  purposes  of  my  Declaration,  a  key  component  of  the  alleged 
`
`invention is script programs 40 and 42 which reside on the network management 
`
`and  server  computer  systems,  respectively.   “Script  programs  are  written  in  an 
`
`interpretable language, and are stored in network management computer system 
`
`10 and server computer system 14 in their uninterpreted form (preferably in the 
`
`form  of  an  ASCII  text  file).”    (’594,  6:34‐38.)   The   term  “ASCII”  refers  to  the 
`
`American Standard Code for Information Interchange (ASCII), a standard encoding 
`
`scheme  for  textual  characters.    Most  (if  not  all)  standard  text  files  used  with 
`
`personal computers  as of September 1994 would  have been encoded  in ASCII.3  
`
`The  ’594  patent  also  discloses  an  embodiment  in  which  a  script  program  is 
`
`compiled into an “intermediate form” for faster execution.  (’594, 6:38‐44.)   
`
`33.
`
`The  specification  provides  a  specific  example  of  the  content  of  a 
`
`Knowledge Module (Figs. 5a‐5b) that provides information to the agent software 
`
`about  script  files.   ( ’594,  Fig.  6a‐6b,  6:26‐31.)    The  specification  also  provides  a 
`
`specific  example  of  source  code  of  a  script  program  (Figs.  6a‐6b)  that  could  be 
`                                               
`
`  At the time of the alleged invention, two prevalent character encoding formats 
`were ASCII and EBCDIC (Extended Binary Coded Decimal Interchange Code).  ASCII 
`was used on almost all non‐mainframe personal computer and server computers.  
`EBCDIC was primarily used for IBM‐based mainframe computers.   
`
` 3
`
`17 
`
`ServiceNow's Exhibit No. 1002
`
`020
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`interpreted and carried out.  (’594, Fig. 6a‐6b, 6:32‐34.)  “As can be seen from the 
`
`example,  a  script  program  written  in  an  interpretable  language  can  be  used  to 
`
`define  a  command  or  routine,  such  as  (in  this  example)  a  routine  for  collecting 
`
`information and determining the number of users logged into a particular server 
`
`computer system 14 as well as the number of processes per user.”  (’594, 6:51‐
`
`56.)   As   noted  above,  both  the  network  management  computer  system  10  and 
`
`the server computer system 14 contain script programs (40, 42).   
`
`B.
`34.
`
`1. 
`
`(a)  
`
`(b)  
`
`The Claims of the ’594 Patent 
`
`This Declaration addresses claim 1 of the ’594 patent, which reads: 
`
`A method of determining whether a resource is present on a 
`computer system, comprising the steps of: 
`
`reading,  from  a  storage  device  coupled  to  the  computer 
`system,  discovery 
`information  about  how  to  determine 
`whether the resource is present on the computer system; 
`
`finding, on the storage device, instructions that are referred to 
`in  the  discovery 
`information,  that  are  written 
`in  an 
`interpretable high‐level computer programming language, and 
`that  are  stored  on  the  storage  device  in  their  uninterpreted 
`form; 
`
`18 
`
`ServiceNow's Exhibit No. 1002
`
`021
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`(c) 
`
`interpreting the instructions for the purpose of collecting data 
`for use in determining whether the resource is present on the 
`computer system; and 
`
`(d) 
`
`determining,  responsive  to  the  collected  data,  whether  the 
`resource is present on the computer system. 
`
`(’594, Ex. 1001, 9:25‐41 (Claim 1).)     
`
`C.
`35.
`
`Claim Construction  
`
`I have been informed by counsel that invalidity involves a two‐step 
`
`analysis.  In  the  first  step,  the  scope  and  meaning  of  a  claim  is  determined  by 
`
`construing the terms of that claim.  In the second step, the claim as interpreted is 
`
`compared to the prior art.  Thus, before I address the application of the prior art 
`
`to  the  claims  of  the  ’594  patent  in  Part  V  below,  I  will  provide  proposed 
`
`constructions for certain terms in the claims addressed in this Declaration, from 
`
`the perspective of a person of ordinary skill in the art.  
`
`36.
`
`I  have  been  informed  by  counsel  that  the  ’594  patent  has  expired, 
`
`and  as  such,  the  claim  limitations  are  not  given  their  “broadest  reasonable 
`
`construction”  but  should  be  given  their  ordinary  and  customary  meaning  to  a 
`
`person of ordinary skill in the art as of September 1994. 
`
`19 
`
`ServiceNow's Exhibit No. 1002
`
`022
`
`

`

`Declaration of David Klausner in Support of 
`Petition for Inter Partes Review of  
`U.S. Patent No. 5,978,594 

`
`“Resource” 
`
`1.
`
`
`
`37. Claim  1  recites  “[a]  method  for  determining  whether  a  resource  is 
`
`present  on  a  computer  system,”  and  recites  the  term  “resource”  in  the  claim 
`
`limitations that follow.  The specification appears to provide the following express 
`
`definition of this term: 
`
`in  this 
`is  used 
`it 
`Note  that  the  word  “resource,”  wherever 
`specification,  is  intended  in  its  broad  sense  to  include,  without 
`limitation,  hardware  such  as  computers,  printers,  memory  or  other 
`network  devices,  applications  such  as  database  management 
`systems,  and  logical  devices  such  as  logical  disk  drives  or  filing 
`systems. 
`
`(’594, 3:4‐9.) 
`
`38. Based  on  this  definition,  I  have  interpreted  “resource”  to  mean  “a 
`
`resource  is  intended  in  its  broad  sense  to  include,  without  limitation,  any 
`
`hardware or software including, without limitation, hardware such as computers, 
`
`printers

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