throbber

`
`
`
`
`
`
`
`UNITED STATES DEPARTMENT OF COMMERCE
`
`
`
`United States Patent and Trademark Office
`
`
`October 17, 2018

`
`
`em
`
`2 tookiy
`
`
`
`
`
`
` peOAC Ex.1015Pagel as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`THIS IS TO CERTIFY THAT ANNEXEDIS A TRUE COPY FROM THE
`RECORDS OF THIS OFFICE OF THE FILE WRAPPER AND CONTENTS
`OF:
`
`APPLICATION NUMBER: 09/608,237
`
`FILING DATE: June 30, 2000
`
`PATENT NUMBER: 6,651,099
`
`ISSUE DATE: November18, 2003
`
`By Authority of the
`UnderSecretary of Commercefor Intellectual Property
`and Director of the United States Patent and Trademark Office
`
`!
`
`AN
`3
`
`P.R. GRANT
`Certifying Officer
`
`
`
`PART({ ) OF (& PART(S)
`
` Seea =
`
`
`
`ATT EDEL eRCCE LT CC Taereece
`
`
`
`
`
`= AR
`a
`
`NOAC Ex. 1015 Page 1
`
`

`

`
`lihy
`7/O08inti
`
`|
`
`
`
`
`
`
`
`
`
` APPLICATION NO.
`
` - 09/608237
`
`
` Arieeu Kor
`William Bares
`Method and apparatus for moniterina tradaffic in a
`
`APPLICANTS
`
`Bn 8
`
`devas mae hgeeecnens lleeaEeSethian ws
`:
`qo
`:

`
`:
`
`ese sfontenfieueeswacnianiee Stans seem
`:
`:
`:
`
`TITLE
`
`
`eet
`
`TERMINAL
`DISCLAIMER
`
`
`
`
`
`et
`
`=a)
`
`:
`
`:
`
`:
`
`:
`{
`
`;
`
`y
`
`
`
`‘(J Theterm ofthis patent 7
`subsequentto
`7
`has been disclaimed.
`{1 The termofthis patent shall
`
`(date)
`a
`
`notextendbeyondtheiaaldate
`
`of U.S Patent. No.
`
`‘
`
`Sls
`
`|
`
`|
`
`.
`fassant Damien
`ee
`|
`:
`
`7
`
`>
`
`:
`
`MOUSTAFA M. MEKY -
`
`_{
`
`
`
`(Lega! instr4ments Examiner)”
`
`=
`
`( () Wy
`aIki
`iPRIMARYEXAMINER
`“+ (Date)
`_ {Primary Damionot
`:
`oO
`nibs ae0384.
`thispatenthavebeendisclaimed.
`‘el
`XR:
`months of
`Theterminat
`The Information disclosed herein may berestricted. Unauthorized disclosure may be pforpitea by the United States CodeTitle 35, Sections 122, 181 and 368.
`Possession outside the U.S. Patent & Trademark Officeis restricted to authorized employees and contractors only.
`fan Eescen
`ce
`FILED wiTH: [_] DISK (CRF) [7] FICHE O CD-ROM
`.
`issuE &EeE IN FILE :
`‘(Attachedinpocketonaflap)
`
`29
`
`Amount Due —
`i
`:
`- ISSUE BATCH NUMBER
`
`:
`
`:
`
`ag
`vt
`“al
`
` ethteaeennminineenesteae
`(FACE)
`
`NOAC Ex. 1015 Page 2
`
`

`

`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`
`ee :
`
`of 1
`
`COMMISSIONER FOR PATENTS
`UNITED STATES PATENT AND TRADEMARK OFFICE
`WASHINGTON, D.C. 2023}
`www.uspto.gov
`
`
`
`
`GRANTED ** 08/21/2000
`
`Allowance
`
`SREES
`
`CONFIRMATION NO.9993
`Bib Data Sheet
`
`
`
`
`ATTORNEY
`FILING DATE
`
`
`
`
`GROUP ART UNIT
`SERIAL NUMBER
`
`
`
`
`
`DOCKETNO.
`06/30/2000
`
`2755
`09/608 237
`
`
`
`APPT-001-1
`RULE
`
`
`
`[APPLICANTS
`
`
`Russell S. Dietz, San Jose, CA;
`Joseph R. Maixner, Aptos, CA;
`
`
`Andrew A. Koppenhaver,Littleton, CO;
`William H. Bares, Germantown, TN;
`
`Haig A. Sarkissian, San Antonio, TX;
`
`James F. Torgerson, Andover, MN;
`
`
`* CONTINUING DATA *ithstittetsanaanasaanaes
`
`
`
`THIS DPNeo BENEFIT OF 60/141,903 06/30/1999
`
`emroai MyoKEKERRERREAAAERERERE
`
`IF acanen, OREIGN FILING LICENSE
`
`
`
`yes
`Foreign Priority claimed
`
`35 USC 119 (a-d) conditions Od,no"Q Metafter
`STATE OR|
`SHEETS
`
`
`
`COUNTRY| DRAWING
`
`
` Examiner's Signature
`(hitials
`
` Dov Rosenfeld
`
`
`
`Suite 2
`
`
`5507 College Avenue
`Oakland ,CA 94618
`
`
`
`TITLE
`Method and apparatus for monitoringtraffic in a network
`
`
`
`
`
` FILING FEE |FEES: Authority has been given in Paper
`RECEIVED INo.
`“to charge/credit DEPOSIT ACCOUNT
`for following:
`
`
`
`[Gitsrees(issue)———_|1.18 Fees( issue )
`
`L) other
`
`C) Credit
`
`
`
`
`NOACEx. 1015 Page 3
`
`NOAC Ex. 1015 Page 3
`
`

`

`OF -O3-00
`
`F-
`
`IN THE U.S. PATENT AND TRADEMARK OFFICE
`Application Transmittal Sheet
`
`Our Ref./Docket No.:_APPT-001-1
`
`Box Patent Application
`ASSISTANT COMMISSIONER FOR PATENTS
`Washington,D.C. 20231
`
`—=
`=
`oMi=
`PT2it 00
`n= 3
`-O==35
`oo
`ng
`ToS
`
`INVENTOR(s)y/APPLICANT(s)
`a=
`First Name, MI
`Residence (City and State or Country)
`Last Name
`
`Dear Assistant Commissioner:
`
`Transmitted herewith is the patent application of
`
`San Jose, CA
`Russell S.
`Dietz
`Aptos, CA
`Joseph R.
`Maixner
`Fairfax, VA
`Andrew A.
`Koppenhaver
`Additional inventors are being named on separately numbered sheets attached hereto.
`
`METHOD AND APPARATUS FOR MONITORING TRAFFIC IN A NETWORK
`
`TITLE OF THE INVENTION
`
`CORRESPONDENCE ADDRESS AND AGENT FOR APPLICANT(S)
`
`DovRosenfeld, Reg. No. 38,387
`5507 College Avenue, Suite 2
`Oakland, California, 94618
`Telephone: (510) 547-3378; Fax: (510) 653-7992
`
`,
`
`
`
`
`
`ENCLOSED APPLICATION PARTS(checkall that apply)
`
`aas
`ges
`#23Be
`aan
`Includedare:
`OH4
`
`Xx 66___sheet(s) of specification, claims, and abstract
`x 18__sheet(s) of formal Drawing(s) with a submissionletter to the Official Draftsperson
`
`eh
`Information Disclosure Statement.
`-
`Form PTO-1449: INFORMATION DISCLOSURE CITATION IN ANAPPLICATION,together with a
`copy of each references included in PTO-1449.
`Declaration and Power of Attorney
`An assignmentof the invention to_Apptitude,Inc.
`A letter requesting recordation of the assignment.
`An assignment Cover Sheet.
`Additional inventors are being named on separately numbered shagts attached hereto.
`Return postcard.

`This application has:
`a small entity status. A verified statement:
`is enclosed
`wasalready filed.
`
`“FELL
`
`The fee has been calculated as shownin the following page.
`
`
`
`‘Certificate of Mailing under 37 CFR 1.10
`
`
`Thereby certify that this application and all attachments are being deposited with the United States Postal
`
`
`
`Service as Express Mail (Express MailLabel: EI417961944USin an envelope addressed to Box Patent
`
`
`Application, Assistant Commissioner for Patents, Washington, D.C . 20231 0
`
`Date: Wine BO}
`Signed
`Ex. 1015 Page 4
`Name-Dov Rosenfeld, Reg. No. 38687
`
`
`
`
`NOAC Ex. 1015 Page 4
`
`

`

`SUBMISSION DOCUMENT
`Page 2
`ATTORNEY DOCKET NO._APPT-001-1
`
` BASIC APPLICATIONFEE:
`
`$ 690.00
`
`TOTAL FEES PAYABLE:|_$1,470.00
`
`METHOD OF PAYMENT
`
`is attached for application fee and presentation of claims.
`A check in the amountof
`A checkin the amountof $ 40.00 is attached for recordation of the Assignment.
`The Commissioner is hereby authorized to charge payment of the any missing filing or other fees
`required forthis filing or credit any overpayment to Deposit Account No. 50-0292
`(A DUPLICATE OF THIS TRANSMITTAL IS ATTACHED):
`
`BO too
`
`Date
`
`Respectfully Submitted,
`
`
`
`Dov Rosenfeld , Reg. No. 38687
`
`Correspondence Address:
`Dov Rosenfeld
`5507 College Avenue, Suite 2
`Oakland, California, 94618
`Telephone: (510) 547-3378; Fax: (510) 653-7992
`
`NOACEx. 1015 Page 5
`
`=w
`
`i e
`
`a
`Ce
`
`NOAC Ex. 1015 Page 5
`
`

`

`SUBMISSION DOCUMENT
`ATTORNEY DOCKET NO.
`
`_APPT-001-1
`
`Page 3
`
`ATTORNEY DOCKETNO. _APPT-001-1
`
`Application Cover Sheet (cont.)
`
`INVENTOR(s)/APPLICANT(s)
`
`Last Name
`
`First Name, MI
`
`Residence (City and Either State or Foreign
`Country)
`
`Bares
`
`Sarkissian
`
`Torgerson
`
`William H.
`
`Haig A.
`
`JamesF.
`
`Germantown, TN
`
`San Antonio, Texas
`
`Andover, MN
`
`4ongtERCE
`
`a
`ia
`Wau
`
`CK”
` Pri
`etiq
`
`NOACEx. 1015 Page 6
`
`NOAC Ex. 1015 Page 6
`
`

`

`Our Ref./Docket No: APPT-001-1
`
`Patent
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`Applicant(s): Dietz, etal.
`
`Group Art Unit: unassigned
`
`
`
`
`
`Title: METHOD AND APPARATUS FOR
`Examiner: unassigned
`MONITORING TRAFFIC IN A NETWORK
`
`
`
`LETTER TO OFFICIAL DRAFTSPERSON
`SUBMISSION OF FORMAL DRAWINGS
`
`The Assistant Commissioner for Patents
`Washington, DC 20231
`ATTN:Official Draftsperson
`
`Dear Sir or Madam:
`
`Attached please find 18 sheets of formal drawings to be made of record for the above
`identified patent application submitted herewith.
`
`Respectfully Submitted,
`
`Date
`
`Dov Rosenfeld, Reg. No. 38687 |
`
`Address for correspondenceand attorney for applicant(s):
`Dov Rosenfeld, Reg. No. 38,687
`5507 College Avenue, Suite 2
`Oakland, CA 94618
`Telephone: (510) 547-3378; Fax: (510) 653-7992
`
`
`
`Certificate of Mailing under 37 CFR 1.10
`
`
`
`Therebycertify that this application andall attachments are being deposited with the United States Postal
`
`Service as Express Mail (Express Mail Label: £1417961944USin an envelope addressed to Box Patent
`
`
`Assistant Commissioner for Patents, Washington, D.C. 202
`tA
`Lb 2&cO—
`Sigae
`
`
`Name:
`=
`
`Dov Rosenfeld, Reg. No. 38687
`
`
`sehriCRA=NARS2"
`
`wird
`
`3 =i
`
`iei!
`
`NOAC Ex. 1015 Page 7
`
`

`

`re,AeSng
`
`}‘
`dy
`
`Our Ref./Docket No.:
`
`_APPT-001-1
`
`METHOD AND APPARATUS FOR MONITORING TRAFFIC IN A NETWORK
`
`Inventor(s):
`
`DIETZ, Russell S.
`San Jose, CA
`
`MAIXNER,Joseph R.
`Aptos, CA
`
`KOPPENHAVER,Andrew A.
`Fairfax, VA
`
`BARES, William H.
`Germantown, TN
`
`SARKISSIAN,Haig A.
`San Antonio, Texas
`
`TORGERSON,JamesF.
`Andover, MN
`
`
`
`
`Certificate of Mailing under 37 CFR 1.10
`
`Thereby certify that this application and all attachments are being deposited with theUnited States Postal Service as Express Mail
`(Express Mail Label: EI417961944USin an envelope addressed to Box Patent Application, Assistant Commissionerfor Patents,
`Washington, D.C. 20231 on.
` LEE‘EX. 1015 Page 8
`
`GJ
`
`Signed:
`Namnté: Dov Rosenfeld, Reg. No. 38687
`
`
`
`
`
`ye 8
`
`sB
`
`S
`
`cs
`=na
`
`
`MopegDeen
`
`
`
`LTRIECNTMELLEEIREAEEEEE
`
`NOAC Ex. 1015 Page 8
`
`

`

`
`
`]
`
`METHOD AND APPARATUS FOR MONITORING
`TRAFFIC IN A NETWORK
`
`CROSS-REFERENCE TO RELATED APPLICATION
`
`This application claims the benefit of U.S. Provisional Patent Application Serial No.:
`
`60/141,903 for METHOD AND APPARATUS FOR MONITORING TRAFFIC IN A
`
`NETWORKto inventors Dietz,et al., filed June 30, 1999, the contents of which are
`
`incorporated herein by reference.
`
`This application is related to the following U.S. patent applications, eachfiled
`
`concurrently with the present application, and each assigned to Apptitude,Inc., the
`
`assignee of the present invention:
`
`AN
`U.S.Patent Application Serial No.0“ / 6) for PROCESSING PROTOCOL
`SPECIFIC INFORMATION IN PACKETS SPECIFIED BY A PROTOCOL
`
`DESCRIPTION LANGUAGE,to inventors Koppenhaver, etal., filed June 30, 2000,
`sti Lindy
`;
`“G0T=2, and incorporated herein by reference.
`
`U.S. Patent Application Serial No. ©“. /é¢&2Gfor RE-USING INFORMATION FROM
`
`DATA TRANSACTIONS FOR MAINTAINING STATISTICS IN NETWORK
`s&ill ferelng—
`MONITORING,to inventors Dietz,et al., filed June 30, 2000, Attorey+“~sent
`
`15
`
`
`
`~RefereneeNumber7APPFE-064+-3, and incorporated herein by reference.
`
` 10
`
`20
`
`25
`
`U.S. Patent Application Serial No. O\_/6c8,2é¢for ASSOCIATIVE CACHE
`STRUCTURE FOR LOOKUPS AND UPDATES OF FLOW RECORDSIN A
`
`NETWORK MONITOR,to inyentors Sarkissian,et al., filed June 30, 2000,
`Sti PRwdindy
`
`=4, and incorporated herein by reference.
`
`U.S. Patent Application Serial No. °4_/6%,267for STATE PROCESSOR FOR
`PATTERN MATCHINGIN A NETWORK MONITORPEVICR, to inventors
`séi
`Peng i
`Sarkissian,et al., filed June 30, 2000,
`:
`
`and incorporated herein by reference.
`
`FIELD OF INVENTION
`
`The present invention relates to computer networks, specifically to the real-time
`elucidation of packets communicated within a data network,includingclassification
`
`30
`
`according to protocol and application program.
`
`NOACEx. 1015 Page 9
`
`NOAC Ex. 1015 Page 9
`
`

`

`
`
`
`
`2
`
`BACKGROUND TO THE PRESENT INVENTION
`
`There has long been a need for network activity monitors. This need has become
`
`especially acute, however, given the recent popularity of the Internet and other internets—
`an “internet” being any plurality of interconnected networks which formsa larger, single
`
`network. With the growth of networksusedas a collection of clients obtaining services
`
`from one or moreservers on the network,it is increasingly important to be able to
`
`monitor the use of those services and to rate them accordingly. Such objective
`
`information, for example, as whichservices(i.e., application programs) are being used,
`
`whois using them, how often they have been accessed, and for how long,is very useful in
`
`10
`
`the maintenance and continued operation of these networks. It is especially important that
`
`selected users be able to access a network remotely in order to generate reports on
`
`networkuse in real time. Similarly, a need exists for a real-time network monitor that can
`
`provide alarmsnotifying selected users of problems that may occur with the network or
`
`site.
`
`15
`
`20
`
`25
`
`Oneprior art monitoring method useslogfiles. In this method, selected network
`
`activities may be analyzed retrospectively by reviewing log files, which are maintained by
`
`network servers and gateways. Log file monitors must access this data and analyze
`(“mine”) its contents to determinestatistics about the server or gateway. Several problems
`exist with this method, however. First, log file information does not provide a map of
`real-time usage; and secondly,log file mining does not supply complete information. This
`
`methodrelies on logs maintained by numerous network devices and servers, which
`
`requires that the information be subjected to refining andcorrelation. Also, sometimes
`informationis simply not available to any gateway orserverin order to makea logfile
`
`entry.
`
`Onesuchcase, for example, would be information concerning NetMeeting®
`(Microsoft Corporation, Redmond, Washington) sessions in which two computers
`
`SeCHCHA
`
`eectseasdl
`
`a aG
`
`aq
`
`connect directly on the network and the data is never seen byaserveror a gateway.
`
`Another disadvantage of creating log files is that the process requires data logging
`features of network elements to be enabled, placing a substantial load on the device ,
`whichresults in a subsequentdecline in network performance. Additionally,log files can
`grow rapidly, there is no standard meansof storage for them, and they require a
`
`30
`
`NOACEx. 1015 Page 10
`
`
`
`NOAC Ex. 1015 Page 10
`
`

`

`
`
`
`
`significant amount of maintenance.
`
`Though Netflow® (Cisco Systems, Inc., San Jose, California), RMON2, and other
`
`network monitors are available for the real-time monitoring of networks, they lack
`
`visibility into application content and are typically limited to providing network layer
`
`level information.
`
`Pattern-matching parser techniques wherein a packetis parsed and pattern filters
`
`are applied are also known,butthese too are limited in how deepinto the protocol stack
`
`they can examine packets.
`
`Someprior art packet monitors classify packets into connection flows. The term
`
`“connection flow” is commonly usedto describe all the packets involved with a single
`
`connection. A conversational flow, on the other hand, is the sequenceofpackets that are
`
`exchangedin any direction as a result of an activity—for instance, the running of an
`
`application on a server as requestedby a client. It is desirable to be able to identify and
`
`classify conversational flows rather than only connection flows. The reasonfor this is that
`
`15
`
`someconversational flows involve more than one connection, and some even involve
`
`whenusing client/server protocols such as RPC, DCOMP, and SAP, which enable a
`
`service to be set up or defined priorto any useofthat service.
`
`An example of such a case is the SAP (Service Advertising Protocol), a NetWare
`
`20
`
`(Novell Systems, Provo, Utah) protocol used to identify the services and addresses of
`
`servers attached to a network.In the initial exchange, a client might send a SAP request to
`
`a server for print service. The server would then send a SAP reply that identifies a
`
`particular address—for example, SAP#5—astheprint service on that server. Such
`
`responses might be used to update a table in a router, for instance, knownas a Server
`
`25
`
`Information Table. A client who has inadvertently seen this reply or who hasaccessto the
`
`table (via the router that has the Service Information Table) would know that SAP#5 for
`
`this particular server is a print service. Therefore, in order to print data on the server, such
`aclient would not need to make a requestfor a print service, but would simply send data
`to be printed specifying SAP#5. Like the previous exchange, the transmission of data to
`be printed also involves an exchange betweena client and a server, but requires a second
`connection andis therefore independentof the initial exchange. In order to eliminate the
`
`30
`
`NOACEx. 1015 Page 11
`
`more than one exchangeof packets betweenaclient and server. Thisis particularly true
`
`
`
`OOMESao"£eaeoouod
`
`
`
`NOAC Ex. 1015 Page 11
`
`

`

`€)
`
`
`
`4
`
`possibility of disjointed conversational exchanges,it is desirable for a network packet
`
`monitor to be able to “virtually concatenate”—that is, to link—thefirst exchange with the
`
`second.If the clients were the same, the two packet exchanges wouldthen becorrectly
`
`identified as being part of the same conversational flow.
`
`Other protocols that may lead to disjointed flows, include RPC (Remote Procedure
`
`Call); DCOM (Distributed Component Object Model), formerly called Network OLE
`
`(Microsoft Corporation, Redmond, Washington); and CORBA (Common Object Request
`
`Broker Architecture). RPC is a programminginterface from Sun Microsystems (Palo
`
`Alto, California) that allows one program to use the services of another program in a —
`
`10
`
`remote machine. DCOM,Microsoft’s counterpart to CORBA,defines the remote
`
`procedurecall that allows those objects—objectsare self-contained software modules—to
`
`pantyomeee
`
` } ré
`
`bee
`
`ogi
`
`be run remotely over the network. And CORBA,a standard from the Object Management
`
`Group (OMG)for communicating betweendistributed objects, provides a way to execute
`
`programs (objects) written in different programming languages running on different
`
`15
`
`platforms regardless of where they reside in a network.
`
`Aetalg
`
`e
`
`
`2e
`
`
`
`SHAME"AIESORCREEAAMTLEENINSINGER:IPEPEN0RRPS80
`
`
`
`Whatis needed, therefore, is a network monitor that makesit possible to
`
`continuously analyzeall user sessions on a heavily trafficked network. Such a monitor
`
`should enable non-intrusive, remote detection, characterization, analysis, and capture of
`
`all information passing through any point on the network(i.e., of all packets and packet
`
`20
`
`streams passing through any location in the network). Not only shouldall the packets be
`
`detected and analyzed, but for each of these packets the network monitor should
`
`determine the protocol(e.g., http, ftp, H.323, VPN,etc.), the application/use within the
`
`protocol(e.g., voice, video, data, real-time data, etc.), and an end user’s pattern of use
`
`within each application or the application context (e.g., options selected, service
`
`25
`
`delivered, duration, time of day, data requested, etc.). Also, the network monitor should
`
`not be reliant upon server resident information such as log files. Rather, it should allow a
`
`user such as a network administrator or an Internet service provider (ISP) the means to
`
`measure and analyze networkactivity objectively; to customize the type of data that is
`collected and analyzed; to undertakereal time analysis; and to receivetimely notification
`
`30
`
`of network problems.
`
`Considering the previous SAP example again, because onefeatures of the
`invention is to correctly identify the second exchange as being associated with a print
`
`NOACEx. 1015 Page 12
`
`NOAC Ex. 1015 Page 12
`
`

`

`
`
`
`
`5
`
`service on that server, such exchange would even be recognizedif the clients were not the
`
`same. Whatdistinguishes this invention from prior art network monitorsis that it has the
`
`ability to recognize disjointed flows as belonging to the same conversational flow.
`
`The data value in monitoring network communications has been recognized by
`manyinventors. Chiu, et al., describe a methodfor collecting information at the session
`
`level in a computer network in United States Patent 5,101,402,titled “APPARATUS
`
`AND METHODFOR REAL-TIME MONITORING OF NETWORKSESSIONS AND
`
`A LOCAL AREA NETWORK”(the “402 patent”). The 402 patent specifies fixed
`
`locations for particular types of packets to extract information to identify session of a
`
`10
`
`packet. For example, if a DECnet packet appears, the 402 patent looks at six specific
`
`fields (at 6 locations) in the packetin order to identify the session of the packet. If, on the
`
`other hand, an IP packet appears, a different set of six different locationsis specified for
`
`an IP packet. With the proliferation of protocols, clearly the specifying ofall the possible
`
`places to look to determine the session becomes more and moredifficult. Likewise,
`
`15
`
`adding a new protocolor application is difficult. In the present invention, the locations
`
`examined and the information extracted from any packet are adaptively determined from
`
`information in the packet for the particular type of packet. There is no fixed definition of
`
`what to look for and where to look in order to form an identifying signature. A monitor
`
`implementation of the present invention, for example, adapts to handle differently IEEE
`
`20
`
`802.3 packet from the older Ethernet Type 2 (or Version 2) DIX (Digital-Intel-Xerox)
`
`packet.
`
`The 402 patent system is able to recognize up to the session layer. In the present
`
`invention, the numberof levels examined varies for any particular protocol. Furthermore,
`
`the present invention is capable of examining up to whateverlevel is sufficientto
`
`25
`
`uniquely identify to a required level, even all the wayto the application level (in the OSI
`
`model).
`
`Otherprior art systems also are known. Phael describes a network activity monitor
`that processes only randomly selected packets in United States Patent 5,315,580,titled
`“NETWORK MONITORING DEVICE AND SYSTEM.” Nakamurateaches a network
`
`30
`
`monitoring system in United States Patent 4,891,639,titled “MONITORING SYSTEM
`OF NETWORK.”Ross,et al., teach a method and apparatus for analyzing and
`monitoring networkactivity in United States Patent 5,247,517, titled “METHOD AND
`
`NOACEx. 1015 Page 13
`
`
`
`as
`
`
`23
`
`reaeSLSStetSylvanian:
`
`SyTRAEE
`
`AnHE
`
`faitetix-devi
`
`NOAC Ex. 1015 Page 13
`
`

`

`
`
`<
`
`{49
`
`6
`
`APPARATUS FOR ANALYSIS NETWORKS,” McCreery,et al., describe an Internet
`
`activity monitor that decodes packet data at the Internet protocol level layer in United
`
`States Patent 5,787,253, titled “APPARATUS AND METHOD OF ANALYZING
`
`INTERNET ACTIVITY.” The McCreery method decodes IP-packets. It goes through the
`
`decoding operations for each packet, and therefore uses the processing overhead for both
`
`recognized and unrecognizedflows. In a monitor implementation of the present invention,
`
`a signature is built for every flow such that future packets of the flow are easily
`
`recognized. When a new packetin the flow arrives, the recognition process can
`
`commence from whereit last left off, and a new signature built to recognize new packets
`
`10
`
`of the flow.
`
`SUMMARY
`
`BoTAataeeSGReelyRRRO2OEAN
`
`SSSMEDCLORMSIESENETBEUaea
`(EESSE"ES
`
`In its various embodiments the present invention provides a network monitor that
`
`can accomplish one or moreofthe following objects and advantages:
`
`e Recognize andclassify all packets that are exchanges between a client and
`
`15
`
`server into respective client/server applications.
`
`e Recognize andclassify at all protocol layer levels conversational flows that
`
`pass in either direction at a point in a network.
`
`e Determine the connection and flow progress between clients and servers
`
`according to the individual packets exchanged over a network.
`
`20
`
`e Beusedto help tune the performance of a network according to the current
`
`mix ofclient/server applications requiring network resources.
`
`e Maintainstatistics relevant to the mix ofclient/server applications using
`
`network resources.
`
`e Report on the occurrences of specific sequences of packets used by particular
`
`25
`
`applications for client/server network conversational flows.
`
`Other aspects of embodimentsof the invention are:
`
`Sit
`
`airme
`Se
`
`*i w
`
`Aoeaeae
`
`vom
`
`
`
`e Properly analyzing each of the packets exchanged betweenaclient and a
`server and maintaining information relevantto the current state of each of
`
`painwebsfs
`
`these conversational flows.
`
`NOACEx. 1015 Page 14
`
`NOAC Ex. 1015 Page 14
`
`

`

`®@
`
`
`
`7
`
`e Providing a flexible processing system that can be tailored or adapted as new
`
`applicationsenter the client/server market.
`
`e Maintainingstatistics relevant to the conversational flowsin a client/sever
`
`networkasclassified by an individual application.
`
`e Reporting a specific identifier, which may be used by other network-oriented
`
`devices to identify the series of packets with a specific application for a
`
`specific client/server network conversational flow.
`
`In general, the embodiments-of the present invention overcome the problems and
`
`disadvantagesofthe art.
`
`10
`
`Asdescribed herein, one embodiment analyzes each of the packets passing
`
`through any point in the network in either direction, in order to derive the actual
`
`application used to communicate betweena client and a server. Note that there could be
`
`several simultaneous and overlapping applications executing over the network that are
`
`independent and asynchronous.
`
`15
`
`A monitor embodimentof the invention successfully classifies each of the
`
`individual packets as they are seen on the network. The contents of the packets are parsed
`
`and selected parts are assembledinto a signature (also called a key) that may then be used
`
`identify further packets of the same conversational flow, for example to further analyze
`
`the flow and ultimately to recognize the application program. Thusthe key is a function
`
`20
`
`of the selected parts, and in the preferred embodiment, the function is a concatenation of
`
`the selected parts. The preferred embodiment forms and remembersthe state of any
`
`conversational flow, which is determined by the relationship between individual packets
`
`and the entire conversational flow over the network. By rememberingthestate of a flow
`
`in this way, the embodiment determines the context of the conversational flow, including
`the application program it relates to and parameters such as the time, length of the
`
`25
`
`conversational flow,datarate,etc.
`
`The monitoris flexible to adapt to future applications developed for client/server
`networks. New protocols and protocol combinations may be incorporated by compiling
`files written in a high-level protocol description language.
`
`NOACEx. 1015 Page 15
`
`I
`
`
`
` eS
`
`=F
`
`e
`od
`=
`
`!|
`
`NOAC Ex. 1015 Page 15
`
`

`

`
`
`8
`
`The monitor embodimentof the presentinvention is preferably implemented in
`application-specific integrated circuits (ASIC)orfield programmable gate arrays (FPGA).
`
`In one embodiment, the monitor comprises a parser subsystem that forms a signature from
`
`a packet. The monitor further comprises an analyzer subsystem that receives the signature
`from the parser subsystem.
`
`A packet acquisition device such as a media access controller (MAC)ora
`
`segmentation and reassemble module is used to provide packets to the parser subsystem
`
`of the monitor.
`
`In a hardware implementation, the parsing subsystem comprises two sub-parts, the
`pattern analysis and recognition engine (PRE), and an extraction engine(slicer). The PRE
`
`10
`
`interprets each packet, and in particular, interprets individual fields in each packet
`
`according to a pattern database.
`
`The different protocols that can exist in different layers may be thoughtof as
`
`nodes of one or moretrees of linked nodes. The packet type is the rootof a tree. Each
`
`15
`
`protocolis either a parent node or a terminal node. A parent nodelinks a protocol to other
`
`protocols (child protocols) that can be at higher layer levels. For example, An Ethernet
`
`packet (the root node) may be an Ethertype packet—also called an Ethernet Type/Version
`2 and a DIX (DIGITAL-Intel-Xerox packet)—or an IEEE 802.3 packet. Continuing with
`the IEEE 802.3-type packet, one of the children nodes may bethe IP protocol, and one of
`
`20
`
`the children of the IP protocol may be the TCP protocol.
`
`The pattern database includes a description of the different headers of packets and
`
`their contents, and howtheserelate to the different nodes in a tree. The PRE traverses the
`
`tree as far as it can. If a node does not include a link to a deeperlevel, pattern matchingis
`
`25
`
`declared complete. Note that protocols can be the children of several parents. If a unique
`node wasgenerated for eachofthe possible parent/child trees, the pattern database might
`become excessively large. Instead, child nodes are shared among multiple parents, thus
`
`compacting the pattern database.
`
`Finally the PRE can be used on its own whenonly protocol recognition is
`
`required.
`
`30
`
`For each protocol recognized,the slicer extracts important packet elements from
`the packet. These form a signature(i.e., key) for the packet. Theslicer also preferably
`
`NOACEx. 1015 Page 16
`
`aEEURRRker2
`
`Ps
`ea=
`
`i jt
`we
`
`
`a
`
`;F&iIf a
`
`t
`
`filet=on
`
`NOAC Ex. 1015 Page 16
`
`

`

`erSARLAPAIRESORRTSaMce
`
`eaPRRS
`
`SN
`ttLara!
`
`i i
`
`ra
`
`weWareAAS
`
`ALGER,
`
`beShRie,
`
`SeraESRede.
`
`
`
`2
`
`9
`
`generates a hashfor rapidly identifying a flow that may have this signature from a
`
`database of knownflows.
`
`The flow signature of the packet, the hash andat least some ofthe payload are
`
`passed to an analyzer subsystem. In a hardware embodiment, the analyzer subsystem
`
`includes a unified flow key buffer (UFKB)for receiving parts of packets from the parser
`
`subsystem andfor storing signatures in process, a lookup/update engine (LUE) to lookup
`
`a database of flow records for previously encountered conversational flows to determine
`
`whethera signature is from an existing flow, a state processor (SP) for performingstate
`
`processing, a flow insertion and deletion engine (FIDE)for inserting new flowsinto the
`
`10
`
`database of flows, a memory forstoring the database of flows, and a cache for speeding
`
`up access to the memory containing the flow database. The LUE,SP, and FIDEare all
`
`coupled to the UFKB, andto the cache.
`
`The unified flow key buffer thus contains the flow signature of the packet, the
`
`hash andat least some of the payload for analysis in the analyzer subsystem. Many
`
`15
`
`operations can be performedto further elucidate the identity of the application program
`
`content of the packet involved in the client/server conversational flow while a packet
`
`signature exists in the unified flow signature buffer. In the particular hardware
`
`embodimentof the analyzer subsystem several flows may be processedin parallel, and
`
`multiple flow signatures from all the packets being analyzed in parallel may beheld in the
`
`20
`
`one UFKB.
`
`Thefirst step in the packet analysis process of a packet from the parser subsystem
`
`is to lookup the instance in the current database of known packet flow signatures. A
`
`lookup/update engine (LUE) accomplishes this task using first the hash, and then the flow
`
`signature. The searchis carried out in the cache and if there is no flow with a matching
`
`25
`
`signature in the cache, the lookup engine attempts to retrieve the flow from the flow
`
`database in the memory. The flow-entry for previously encountered flows preferably
`
`includesstate information, which is used in the state processor to execute any operations
`
`defined forthe state, and to determine the next state. A typical state operation may beto
`
`search for one or more knownreference strings in the payload of the packet stored in the
`
`30
`
`UFKB.
`
`Once the lookup processing by the LUE has been completeda flag stating whether
`
`NOACEx. 1015 Page 17
`
`NOAC Ex. 1015 Page 17
`
`

`

`
`
`
`
`
`
`10
`
`it is found or is new is set within the unified flow signature buffer structure for this packet
`flow signature.Foran existing flow, the flow-entry is updated by a calculator component
`of the LUE that addsvaluesto counters in the flow-entry database used to store one or
`
`more Statistical measures of the flow. The counters are used for determining network
`
`usage metrics on the flow.
`
`After the packet flow signature has been looked up and contents of the current
`
`flow signature are in the database, a state processor can begin analyzing the packet
`
`payload to further elucidate the identity of the application program componentofthis
`
`packet. The exact operation of the state processor and functions performedbyit will vary
`
`10
`
`depending on the current packet sequencein the stream of a conversational flow. The
`
`state processor movesto the next logical operation stored from the previous packet seen
`
`with this same flow signature. If any processing is required on this packet, the state
`
`processorwill execute instructions from a databaseofstate instruction for this state until
`
`there are either no moreleft or the instruction signifies processing.
`
` USESSSa
`
`j
`
`15
`
`In the preferred embodiment,the state processor functions are programmable to
`
`provide for analyzing new application programs, and new sequencesofpackets andstates
`
`that can arise from using such application.
`
`If during the lookup processfor this particular packet flow signature, the flow is
`
`required to be inserted into the active database, a flow insertion and deletion engine
`
`20
`
`(FIDE)is initiated. The state processor also may create new flow signatures and thus may
`
`instruct the flow insertion and deletion engine to add a new flow to the database as a new
`
`item.
`
`In the preferred hardware embodiment, each of the LUE,state processor, and
`FIDE operate independently from the other two engines.
`
`25
`
`BRIEF DESCRIPTION OF THE DRAWI

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