throbber

`
`
`
`
`
`
`
`
`
`
`mist... a; II/flfi
`
`PATENT DATE
`PATENT
`
`(Series
`
`NUMBER
`a! 1987)
`
`FILING DATE CLASS
`
`
`
`
`SUBCLASS
`
`GROUP ART UNIT
`
`EXAMINER
`
`5:3
`
`figé-
`
`\r") F V M I, /
`
`
`.gi}
`
`
`
`r
`
`‘f’éfll'
`axfi'flé
`
`
`
`<22.».m62%.‘~
`
`tr\1'v:r
`
`
`
`«mew-raw
`ruflfaa‘gu‘cu
`
`
`
`
`FILING FEE
`:1
`
`
`
`Foreign priority clalme
`CLAIMS
`RECEIVED
`
`35 USC 119 conditions met
`
`ATTORNEY'S
`
`DOCKET NO.
`
`Verified and Acknowledged
`
`
`
`
`
`
`
`
`. a“
`.
`.:...—
`;
`SYSTEM Toe
`u8€l2
`AQ‘TIVZN)’ on A REMOTE
`
`'9’
`U5. DEPT. of ”MIL-fit. & TM OHIGI— PTO-43“. (M. 10-70)
`
`
`
`PARTS OF APPLICATION
`
`FILED SEPARATELY
`
`.
`
`
`
`Form PTO-436
`Rev. 9 l 90
`
`
`
`V
`
`‘ Total Claims
`
`CLAIMS ALLOWED
`Print Claim
`
`
`
`‘-
`
`Docket Clerk
`
`1‘
`
`PREPARED FOR ISSUE
`
`. Assistant Examiner
`
`
`
`
`Primary Examiner
`
`ISSUE CLASSIFICATION
`
`Class
`
`: Sheets Drwg.
`
`Figs. Drwg.
`
`Print Fig.
`
`lSSUE
`BATCH
`N UM BER
`
`
`
`
`
`
`
`
`
`WARNING: The information disclosed herein may be restricted. Unauthorized disclosure may be
`prohibited by the United States Code Title 35, Sections 122, 181 and 368.
`‘
`Possession outside the U.S. Patent & Trademark Office is restricted to authorized employees
`and contractors only.
`
`001
`
`ServiceNow's Exhibit No. 1010
`
`
`
`ServiceNow's Exhibit No. 1010
`
`001
`
`

`

`/ APPROVED FOR LICENSE
`
`//7I/
`{£59.99 142.5%
`
`INITIALS " "
`
`
`
`
`
`"
`
`f Entered
`or
`
`Counted
`
`V
`
`‘-
`
`' CONTENTS
`
`/
`
`‘
`
`Received
`or
`MaiIed
`
`1. Application
`
`\/
`
`papers.
`
`
`
`10.
`
`11.
`
`12.
`
`13.
`
`14.
`
`15.
`
`16.
`
`17.
`
`18.
`
`19.
`
`20.
`
`21.
`
`22.
`
`23.
`
`24.
`
`25.
`
`26.
`
`27.
`
`28.
`
`29.
`
`30.
`
`.MM'A‘ '
`
`32'W Emma-1010
`
`ServiceNow's Exhibit No. 1010
`
`002
`
`

`

`CLASSIFIE,
`
`EX AM I N E R
`
` POSITION
`
`
`V,
`7”
`,
`i/wwm/
`x
`_
`
`TY PIST WM“ a‘ W "W
`
`III-
`
`III—
`
`_I_—
`
`II_-
`
`
`
`INDEX OF CLAIMS
`
`Date
`
`
`
`SYMBOLS
`V ................ Rejected
`__
`= ................ Allnwed
`Jj1:1131;111:322‘n‘lféii'ed
`g?
`.: g
`72 2
`am
`-
`(Through numeral) Canceled
`. a i
`l
`................ Interference
`Ig% — 3::j::'::::::j:::8§%i‘i'ed
`IIVAMIII
`[0 A " I
`fl @MMI
`III-II
`maga-
`IE
`I '
`10 IMIIIII
`IIIIII
`”II—III
`IIIIA'IIIII
`“VII
`.-='.g--===
`16 ’I
`IEI'AIIII
`.-=---=.-==
`19 II
`IIIIIII
`IIIIIIIIIII
`IIIIIIIII
`IIIIIIIIII
`IIIIIIIII
`IIIIIIIII
`II IIII
`IIIIIIII
`IIIIIIIII
`-========
`II I
`II
`IIIIIIIII
`IIIIIII
`IIIIIIII
`IIIIIII
`36 IIIIII
`IIIIIIIIII
`
`I
`39 I
`
`III
`40 I
`II:
`I
`I
`II IIII
`EIIIIIIII
`III-III.—
`IEIIIIIIIII
`-===---===
`
`ll
`==
`II
`II
`II
`II
`'-
`II
`E:
`IKE-II
`III
`IIIII
`III
`III.
`III
`III.
`III
`IIIIII,
`III
`=-==== ===
`IIIIII
`III
`=g==== H:
`IIIIII
`III
`IIIIII
`III
`IIIIII
`III
`IIIIII
`III
`IIIIII
`III
`IIIIII
`III
`IIIIII
`III
`IIIIII
`III
`IIIIIIIIIII
`-=========
`IIIIIII=I=
`IIIIIII‘ I
`IIIIIIIIII
`IIIIIIIIII
`IIIIII=III
`Eli-III. III
`IIIIIIIIII
`IIIIIIIIII
`EIIIIIIIII
`EMIIIIIIIII
`IIIIIIIIII
`IIIIIIIIII
`IIIIIIIIIII
`IIIIIIIIII
`III-III..-
`EIIIIII II
`====== '-
`
`
`
`
`
`
`
`
`
`
`
`
`
`30
`
`
`
`
`
`4
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`IIII
`IEIII
`IIIIIIIIII
`
`
`
`003
`
`III
`II
`se.r:viceNow's Exhibit No. 1019 ..
`'
`
`
`ServiceNow's Exhibit No. 1010
`
`003
`
`

`

`
`
`INTERFERENCE SEARCHED
`
`
`
`
`
`
`
`ServiceNow's Exhibit No. 1010
`
`004
`
`

`

`PATENT APPLICATION SERIAL Nb 517795913
`
`
`
`U.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET
`
`1&0 HE 12J06/91 07795913
`
`PTO—1556
`
`(5/87)
`
`005
`
`ServiceNow's Exhibit No._1010
`
`ServiceNow's Exhibit No. 1010
`
`005
`
`

`

`ABSTRACT OF THE DISCLOSURE
`
`of instructions (a test "script"). The first language comprises a first set of instructions, the
`
`first set of instructions causes a first computer system (a "host" in a preferred embodiment)
`
`to issue a series of commands to a second computer system (a "target") in order to cause
`
`the second computer system to emulate user activity on the second computer system. User
`
`activity includes emulating typing text and/or moving a mouse cursor position. The.
`
`language further comprises a second set of instructions which cause the first computer
`
`system to issue a series of commands to the second computer system in order to cause the
`
`second computer system to respond to the first computer system with its state. This state
`
`includes user interface objects, and applications running in the target, etc. The language
`
`further comprises a third set of instructions, the third set of instructions causing the first
`
`computer system to issue a sequence of commands to the second computer system to
`
`respond in a predefined manner. These instructions indicate that the target computer
`
`system is to respond in within a given period of time, listen for further commands, etc.
`
`This is useful for repeatable and systematic testing of computer systems having a variety of
`
`hardware and software combinations for compatibility testing. Multitasking using
`
`"threads" for control of different targets using different test routines is also provided.
`
`006
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`006
`
`

`

`
`
`UNITED STATES PATENT APPLICATION
`
`FOR
`
`INTERPRETER FOR PERFORMING REMOTE TESTING OF COMPUTER SYSTEMS
`
`INVENTORS:
`
`,
`JAY ALAN JESSEN
`PALANIVELU NAGARAJAN ‘v/
`SEAN LUDLOW FLYNN
`JAMES ALAN SCHNEIDER
`
`)
`
`PREPARED BY:
`
`BLAKELY, SOKOLOFF, TAYLOR & ZAFMAN
`17/100 WILSHIRE BOULEVARD
`SEVENTH FLOOR
`LOS ANGELES, CA 90025-1026
`
`(408) 720-8598
`
`File No. 04860.P666
`
`(“a D
`/
`2’
`“Express Mail" mailing labelnurnber
`DateofDeposit
`NWi/(WWW w \JMi
`I hereby certify that this paper or fee is being deposited with the United States Postal Service ”Express Mail Post
`Office to Addressee" service under 37 CFR 1.10 on the date indicated above and is addressed to the Commissioner
`A
`of Patents and Trademarks, Washingt 11, DC. 20231.
`list
`
`
`(Typed or printed name ofpers7mailing p per or fee)
`Maw
`(Signature of person mailing pager or fee)
`
`
`
`007
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`007
`
`

`

`
`
`BAKR ND FTHEINVENTIN
`
`1.
`
`Field of the Invention
`
`This invention relates to performing diagnostics on computer systems. More
`
`specifically, this application relates to remotely testing computer systems having a variety
`
`of hardware/software combinations.
`
`2.
`
`B k
`
`n
`
`f R 1
`
`10
`
`Traditional testing of computer systems and their associated software and firmware
`
`typically require that manual tests be designed in order to make sure that each function on
`
`given programs is operating as expected. In addition, such testing must be performed on a
`
`variety of systems running different hardware/software combinations to determine the
`
`compatibility of the underlying system. These tests require substantial user intervention
`
`15
`
`because certain operations on these computer systems must be performed manually. Also,
`
`the results of those operations must be monitored by looking at files, the display of the
`
`system, or other results of performing the operations to determine if the proper result has
`
`been accomplished. This is a time-consuming and tedious process. Sometimes this takes
`
`the form of releasing a pre-release version of the system, a so—called “beta release.” This
`
`20
`
`type of release of a product is one which is distributed to a limited number of individuals,
`
`typically very experienced computer program developers, and/or system programmers, to
`
`determine if there are any remaining errors or other unexpected results in the underlying
`
`system or system software.
`
`Both the initial testing process and the beta testing process, discussed above, are
`
`25
`
`time-consuming and tedious tasks for individuals testing the computer system. They are
`
`also expensive for a manufacturer. Such testing requires that the system be tested on a
`
`wide variety of compatible platforms (for instance, in the Macintosh brand family of
`
`l
`
`M)
`
`v.
`
`008
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`008
`
`

`

`computers, the Macintosh SE brand computer system, the Macintosh II, and other systems
`
`using a variety of hardware platforms but having compatible operating system software).
`
`For instance, an error which might occur in one model of machine or in one type of
`
`software combination may not occur on another machine having a different hardware
`
`and/or software combination. Testing each hardware platform in combination with certain
`
`underlying software requires careful testing for proper compatibility.
`
`In addition to a variety of manual tests required for ensuring the functioning of a
`
`computer system, because the tests are performed manually they may become very time-
`
`consuming and tedious. The testing process may also become error~prone, depending on
`
`10
`
`the individuals performing the testing of systems. To ensure that a computer software
`
`product is fully functional before shipping a released product, the so-called “beta release”
`
`process takes a certain period of time. A long delay in testing a final version of a computer
`
`system, including specific hardware and software combinations, may delay the release of a
`
`product so much that competitive advantage may be lost.
`
`15
`
`Some prior art systems used for testing also require that the user input a series of
`
`commands and/or user activity which will generate an expected result. These tests must be
`
`performed flawlessly in order for the testing process to be performed effectively. In
`
`addition, the user must view the tested system’s display and/or other results to determine if
`
`the user action achieved the desired result. Again, to ensure proper functioning, this must
`
`20
`
`be done repetitively. Human beings typically cannot perform repetitive tasks such as these
`
`in an effective manner and monitor all the actions on the tested computer system perfectly.
`
`Also, testing of new computer systems requires repetitive and repeatable testing. This is to
`
`ensure that errors (“bugs”) or other unexpected results are reproducible so that the source
`
`of the error can be determined. Therefore, repeatable testing on various hardware/software
`
`25
`
`platforms is required. These tests should also have a minimum impact on the system being
`
`tested so as to minimize the effect of the testing process (called “corruption”) on the
`
`2
`
`”‘9
`g’
`j
`
`009
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`009
`
`

`

`computer being tested. These tests should also have a means for recording the results of
`
`the tests so that they may be examined to analyze the error.
`
`In summary, substantial delays and errors are caused in the testing of computer
`
`systems prior to shipping. Also, the testing process may fail to catch all errors in a
`
`particular hardware/software combination.
`
`w.i\
`
`‘.
`
`an.”
`«“th\
`
`O10
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`010
`
`

`

`SHMJVIARY AND QBJEQIS QFTHE INYENTIQN
`
`One of the objects of the present invention is to provide an automated means for
`
`testing a wide variety of computer systems in a standardized way.
`
`Another of the objects of the present invention is to provide a means for testing
`
`computer systems in a relatively systematic and error—free environment.
`
`Another of the objects of the present invention is to provide a means for testing a
`
`computer system repetitively such that any errors in a variety of computer
`
`hardware/software combinations may be reproduced and thus more easily eliminated.
`
`Another of the objects of the present invention is to provide a cost effective means
`
`10
`
`to test a wide variety of computer software/hardware combinations.
`
`Another of the objects of the present invention is to provide a means for remotely
`
`testing at least one computer system to minimize the interference (the corruption) of the
`
`computer system by the apparatus perforating the test.
`
`Another object of)the present invention is to provide a means for remotely testing a
`plurality of computer systems by emulating user manipulation of user interface objects on
`
`15
`
`the systems and monitoring the results of the manipulation remotely.
`
`Another of the objects of the present invention is to provide a means for remotely
`
`monitoring the user interface and operating system of a computer system.
`
`These and other objects of the present invention are provided for by a system for
`
`20
`
`interpreting a first sequence of instructions. A first language comprises instructions
`
`making up part of the first sequence of instructions (a test “script”). The first set of
`
`instructions of the language causes a first computer system (a "host" in a preferred
`
`embodiment) to issue a series of commands to a second computer system (a "target") in
`
`order to cause the second computer system to emulate user activity on said second
`
`25
`
`computer system. User activity includes emulating typing text and/or moving a mouse
`
`cursor position. The language further comprises a second set of instructions. The second
`
`set of instructions causes the first computer system to issue a series of commands to the
`
`011
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`011
`
`

`

`second computer system in order to cause the second computer system to respond to the
`
`first computer system with the state of the display of the second computer system. This
`
`includes user interface objects, and applications running in the target, etc. The language
`
`further comprises a third set of instructions, the third set of instructions causing the first
`
`computer system to issue a sequence of commands to the second computer system to
`
`respond in a predefined manner. These instructions indicate that the target computer
`
`system is to respond in within a given period of time, listen for further commands, etc.
`
`The preferred embodiment therefore allows a user to generate a test "script" or command
`
`language program which defines a series of tests which may be performed on the target
`
`10
`
`15
`
`computer. This is useful for repeatable and systematic testing of computer systems having
`
`a variety of hardware and software combinations for compatibility testing. Faults in the
`
`system(s) may be isolated, thus allowing corrective measures to be taken. This is a distinct
`
`improvement over prior art manual testing by individual testers.
`
`These and other objects of the present invention are provided for by an interpretive
`
`language capable of being interpreted by a first computer system (a "host") to cause a
`
`second computer system to perform specified actions. The language includes a first set of
`
`descriptors which define abstractions of user interface objects on the second computer
`
`system (the "target") and a first set of commands which direct emulated user actions to be
`
`performed on the user interface objects in the second computer system. The system also
`
`20
`
`includes a second set of commands which request information regarding the user interface
`
`objects in the second computer system. The information is in the form of abstractions of
`
`the user interface objects and avoids transmitting bitmap images of the target computer
`
`system to the host computer system so that the abstractions may be checked against
`
`expected results. Therefore, repeatable and systematic testing of computer systems may be
`
`25
`
`accomplished.
`
`These and other objects of the present invention are further provided for a system
`
`for testing computer systems which comprises a first target computer system having a first
`
`/ 5
`(:2
`
`012
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`012
`
`

`

`hardware/software combination and a second target computer system having a second
`
`hardware/software combination. A host computer system comprises means for directing a
`
`first thread to control the actions of the first target computer system using a first sequence
`
`of instructions and a second thread to control the actions of the second target computer
`
`system using a second sequence of instructions independent of the first target computer
`
`system. Thus, multiple computers having different hardware/software combinations may
`
`be tested using different test script routines using different processes ("threads”) in the host
`
`computer system. The first and second sequences of instructions (the test "scripts") emulate
`
`user activity on the first and second target computer systems and cause the first and second
`computer systems to report the state of user interface objects on displays coupled to the first
`
`lO
`
`and second computer systems. Therefore, the results of emulated user activity may be
`
`tested for. A means for communicating, such as a local area network, couples the host
`
`computer system to the first and second target computer systems.
`
`013
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`013
`
`

`

` BRIEF DESCRIPTI N F DRAWlN
`
`The present invention is illustrated by way of example and not limitation of the
`
`figures of the accompanying in which like references indicate like elements and in which:
`
`Figure 1, ows the coupling of computer systems used in the preferred
`
`embodiment.
`
`Figure 2 shows a menu screen for initiating a test script from the host machine to be
`
`performed on a target machine.
`
`Figure 3 slogys some user interface objects which may be referred to and
`
`manipulated by theiliOSt machine on a target machine.
`Figure 4 slfows the structure of a “pull-down” menu which may be referenced and
`
`10
`
`manipulated on a target machine by a host machine.
`Figures 5 5nd 6 sfl/iow additional menu items which may be referenced and
`
`manipulated in a target machine by a host machine.
`Figure 7 “shows two windows which may be examined for matching user interface
`I
`Figure 8 shows a flow diagram of a host machine process used to update a cursor
`
`traits.
`
`position in a targetrmachine.
`
`Figure 9Jshows a flow diagram of a host machine process used to resize a window
`
`in a target machine,”A
`,
`.
`f
`
`2/
`_
`
`,/
`
`.
`
`.
`
`.
`
`.
`
`.
`
`Flgure 10 :20th an example ofre51zmg a Window in atarget machine.
`
`Figure 11 ' ows a communication scheme utilized by the target machine for
`
`15
`
`20
`
`communicating with the host.
`
`O14
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`014
`
`

`

`ETAILED DESQRIPTIQN
`
`flap
`' The present invention covers a method and apparatus for remotely testing and
`,
`B\
`monitoring computer systems. In the following description, for the purposes of
`
`explanation, specific data structures, information, packets, protocols, user interface
`
`objects, and other details used by the preferred embodiment are set forth in order to provide
`
`a thorough understanding of the present invention. It will be appreciated, however, by one
`
`skilled in the art that the present invention may be practiced without these specific details.
`
`In other instances, well-known Circuits and devices are shown in block diagram form in
`
`order to not unnecessarily obscure the present invention.
`
`10
`
`lin
`
`fh Prfrr Em imn-Fiur 1
`
`The preferred embodiment is a testing environment wherein a “host” computer
`
`system issues commands to “target” computer systems, the target computer systems
`
`returning the results of those operations back to the host The coupling of the systems in
`
`15
`
`the preferred embodiment is graphically represented with reference to Figure 1. For
`
`instance, on a network such as 110 shown in Figure 1, a host 100 may be coupled to the
`
`network for communication with various target machines such as 121 through 125. The
`
`host computer system 100 communicates with each of target machines 121 through 125
`
`over network 110 for instructing the targets to perform various tasks. Each of the target
`
`20
`
`machines 121 through 125 can communicate over network 110 for providing results of
`
`those tasks back to host 100 when host 100 initiates a communication. In a preferred
`
`embodiment, host 100 and target machines 121 through 125 are members of the Macintosh
`
`brand family of personal computers manufactured by Apple Computer, Inc. of Cupertino,
`
`California. In a preferred embodiment, network 110 is the Appletalk brand local area
`
`25
`
`network (LAN). It will be appreciated by one skilled in the art, however, that any type of
`
`machine which has a network capability may communicate with other machines in a
`
`network such as 110 in a similar manner. Network 110 may be one of the other types of
`
`015
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`015
`
`

`

`LAN’s commercially available in the market, such as Ethernet, a token ring, or a star LAN
`
`system in alternative embodiments.
`
`The preferred embodiment is a system in which tasks are described in a high level
`
`script or command language interpreted and executed by host machine 100. On the basis of
`
`the commands written in this script language, host machine 100 directs target machines 121
`
`through 125 to perform certain actions and respond to the host with the results of those
`
`actions. Communication is provided in a manner well-known to those skilled in the art,
`
`between host 100 and targets 121 through 125 using Appletalk brand network protocols
`
`(for instance, the Appletalk Transaction Protocol or ATP) such as those referred to in the
`
`10
`
`publication “Inside Appletalk, Second Edition” by Gursharan E. Sidhu, Richard F.
`
`Andrews, and Alan B. Oppenheimer (1990) available from Addison-Wesley Publishing
`
`Company, Inc. (hereinafter “Inside Appletalk”). The majority of the underlying host and
`
`target programs (known as the “host” and “agent” respectively) of the preferred
`
`embodiment is written in the C++ programming language and compiled using the MPW
`C++ compilation tools available from Apple Computer, Inc. of Cupertino, California.
`
`15
`
`Portions are implemented in 680x0 assembly language. It can be appreciated by one skilled
`
`in the art that any other type of high level language, such as FORTRAN, Pascal, or low
`
`level language such as assembly language, may be used to implement the system in
`
`alternative embodiments.
`
`20
`
`The architecture of the preferred embodiment is based on a theater metaphor. Each
`
`individual test which is written for target machines such as 121 through 125 shown in
`
`Figure 1 is executed by “actors” or subtasks in the host. Each of the actors plays different
`
`roles, performing different tests by interpreting and executing actions indicated by different
`
`“scripts” (command language routines) for target machines coupled to network 110. There
`
`25
`
`is also a “director” in the system of the preferred embodiment which stages, oversees, and
`
`directs the test execution of each of the actors. An actor may be any entity that plays a role
`
`in a testing process. The most common types of actors which are used in the preferred
`
`9
`
`/ a“
`
`016
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`016
`
`

`

`embodiment are those which emulate user action in the target system. Other actors which
`
`are contemplated within the spirit and scope of the preferred embodiment are those which
`
`include a human tester entering commands on the keyboard directly on each of the target
`
`machines, or any external functions which can communicate with the director or the actors
`
`running the tests. Each of the actors runs as an independent task in a multitasking mode
`
`along with the director. Actors in the system of the preferred embodiment are different
`
`processes or “threads” which are controlled by the script associated with the actor and the
`
`director.
`
`Because each of the target machines 121 through 125 may be different models of
`
`the same computer system with different hardware and/or software configurations, it is
`
`possible to test computer software on each of the systems using the same set of tests, but in
`
`different hardware/software environments. Therefore, compatibility testing of the program
`
`with various configurations of hardware and software may be performed. In addition, the
`
`preferred embodiment provides for rigorous repetitive testing of each of the target machines
`
`using the scripts for each of the actors. Therefore, faults may be detected from multiple
`
`iterations of a script, wherein a manual testing of individual machines may not otherwise
`
`uncover such flaws.
`
`The system of the preferred embodiment comprises two major components:
`
`the
`
`host system, and the target system(s). The host system provides all the “acting” and
`
`“directing” functions as described above. The host interprets the scripts and issues
`
`commands to the target machines to perform emulated user operations based on those
`
`scripts. Also, the host issues queries to determine the state of the target machines and
`
`receives messages from the target machines responding with the requested information. In
`
`this manner, various user actions may be emulated on the target machines and the results
`
`examined by the host for faults. The target machines receive the messages transmitted by
`
`the host, perform the action as if a user was operating the target machine, and sample
`
`certain data structures within the target machine reporting back to the host machine to
`
`10
`
`10
`
`15
`
`20
`
`25
`
`017
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`017
`
`

`

`indicate whether given operations were successful or not. These functions will be
`
`discussed in more detail below. The program running on the target machine, known as an
`
`“agent,” is installed on the target machine in a predefined directory (the “System Folder” in
`
`the Macintosh brand operating system) so that it will be recognized and loaded during
`
`power up initialization of the target machine. In the Macintosh brand operating
`
`environment, the agent program is loaded into the central processing unit as an initialization
`
`routine known as an “INIT” or “system extension.” In alternative embodiments on IBM
`PC brand compatible computer systems, such a routine may be loaded as a “TSR”
`
`(“terminate and stay resident”) program which resides in the memory of the target system
`
`10
`
`and performs given actions as directed by the host.
`
`glgmmand Line Invocation
`
`The host machine operates in two modes for initiating execution of scripts via actors
`
`onto target machines: a command line mode; or an interactive window interface controlled
`
`15
`
`mode. The command line scheme may be used to launch actors in the preferred
`
`embodiment using a command line such as:
`
`vu —a “Actorl” -t “*zTargetMac” -s Scriptvu
`
`which starts the actor thread “Actorl” in the host to control the target machine “TargetMac”
`
`using the script “Script.vu.” Each of the parameters in the above example command line
`
`20
`
`are defined as follows. The “-a” option specifies the name of the actor. This name is an
`
`alphanumeric string. From that point on, the test running on the target machine may be
`
`referred to by this string. So, in the example given above, the test running on the target
`
`machine may be referred to as the process “Actorl.” This may be used for checking the
`
`results of given tests, or performing single line commands. The “—t” option indicates the
`
`25
`
`target address of the target machine. In this case, the target is “*zTargetMac.” The target
`
`name is specified in the following format: “<zone>: <target user name>.” The “*” as
`
`used in the Appletalk brand networking system, is the current zone that the host machine
`
`11
`
`018
`
`ServiceNow's Exhibit No.\1010
`
`ServiceNow's Exhibit No. 1010
`
`018
`
`

`

`resides in. Further, the target user name, in this case, “TargetMac” is the second field.
`
`The specification of named entities in networks such as zones and user names are discussed
`
`in more detail in the publication “Inside Appletalk,” at pages 7—1 to 8-24. It will be
`
`appreciated by one skilled in the art that other types of networking systems may be used in
`
`alternative embodiments which use unique network addresses or names for target
`
`machines. In an alternative embodiment, the network path name may be replaced with the
`
`Internet address of the target machine. This address will be of the form “<network
`
`number>: <note I.D.>: <socket number>.”
`
`The “-3” option, as shown on the command line above, is used for indicating the
`
`10
`
`name of the script (or command) file to be executed on the target machine by the actor.
`
`Script files contain a sequence of instructions which cause actions to occur on the target
`
`machine for either causing specific user actions to be emulated, checking the state of the
`
`target machine, or performing other functions such as modifying variables within the script
`
`file (for example, error counts) for performance of the test. Script files will be discussed in
`more detail below.
`~
`
`15
`
`Other options which may be specified on the “vu” command line include the
`
`following:
`
`-c: This option indicates compile only. It is used for checking the syntax of the
`
`script file without executing it. Error messages are reported to the user of
`
`20
`
`the host using the standard output file (for instance, the display). Using this
`
`option does not require the user to specify a target machine.
`
`-1 <log file name>: This is used for specifying the name of a log file. Any output
`
`messages from the script file which would normally go to the standard
`
`output file of the host (such as the display) or error warning messages will
`
`25
`
`be placed into the file entitled <log file name> on the host.
`
`-dt: This option indicates that a diagnostic trace is to be performed when executing
`
`the script file. This option may only be used when a log file has been
`
`019
`
`ServiceNow's Exhibit No. 1010
`
`ServiceNow's Exhibit No. 1010
`
`019
`
`

`

`specified using the -1 option discussed above. Any errors or other warning
`
`messages will be placed into the file specified by the -1 option.
`
`-0 <output file name>: This option is used to redirect the output of print or display
`
`statements from the standard output file (typically the display) to a specified
`
`file. This may be used for redirecting the output of individual actors to
`
`specified files. Therefore, separate files may be maintained as outputs for
`
`separate actors.
`
`-m <mouse speed>: This option is used to specify the speed of a mouse movement
`on the target machine. A mouse moves in predefined time intervals known
`
`10
`
`as steps. <mouse speed> specifies the number of pixels that the mouse will
`
`move in each step on the target machine. If all mouse movements are
`
`desired by the user to be moved in one step, the speed should be set to zero.
`
`The default setting for the speed is 50.
`
`15
`
`-k <key stroke rate>: This option is used to set the maximum rate of keystrokes on
`the target machine in characters per second. The default setting is 20.
`
`-p <patience setting>: This option is used to set the overall execution speed of the
`
`actor (and therefore commands) on the target machine. Actions get slower
`
`as patience increases. The default setting for patience is one.
`
`-fail <n>: This command is used to specify the maximum number of command
`
`20
`
`failures that are to be allowed in the course of script execution. If the
`
`number of failures exceeds <n>, script execution will abort. The default
`
`setting is infinite, so script execution will not stop until the script has been
`
`completed or the user aborts execution.
`
`-timeout <t>: This option is used to set the maximum time to wait for a
`
`25
`
`transaction with a target machine to complete. If the transaction fails to
`
`complete within <t>, then the transaction is considered to have failed. The
`
`default setting is 20. The maximum value is 255.
`
`13
`
`W
`
`020
`
`ServiceNow's Exhibit No. .1010
`
`ServiceNow's Exhibit No. 1010
`
`020
`
`

`

`-retries <r>: This sets the maximum number of times the actor retries a
`
`transaction with the target machine. The default setting is 3. The maximum
`
`number is 255. If 255 is given, in the preferred embodiment, the number of
`
`retries will be considered to be infinite. When this occurs, the actor will
`
`5
`
`keep trying to reaquire the target.
`
`-cs: This makes the actors suing matching case sensitive. The default for this
`
`setting is that suing matching is not case sensitive. For instance, in default
`operating mode, "‘USER” and “user” would be considered the same entity
`
`by an actor, but would not be the same when the “—cs” option is used.
`
`10
`
`-libs <search path>: This is used to specify the path or the directories in which the
`
`host is to access task libraries. The system of the preferred embodiment
`
`looks for declared libraries in the current directory from which the program
`
`is operating. If not found, the search path specified by this command is
`I
`
`used.
`
`15
`
`Each of the options mentioned above may be specified with a number suffix to
`
`indicate which actor the commands apply to. If a command is specified without a number
`
`suffix, then that command applies to all the actors currently running. For instance, if a
`
`script is run with a “-s” option, then that script will be run on all the actors currently
`
`defined. With the exception of the “—t,” “-1,” and “-0” options, any command given
`
`20
`
`without a number is applied to all actors currently specified. For example, three actors may
`
`021
`
`ServiceNow's Exhibit No..1010
`
`ServiceNow's Exhibit No. 1010
`
`021
`
`

`

`be initiated using the following script commands:
`
`vu
`
`a
`
`a
`
`~al
`—t1
`-sl
`-ol
`
`—a2
`—t2
`-s2
`—o2
`—m2
`~k2
`
`-a3
`-t3
`-s3
`-o3
`—m3
`-k3
`
`“Admin” 8
`“*:gozer” a '
`“AdminTest.vu” a .
`“AdminTest.out” a
`
`“B

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