`Exhibit 1005
`
`
`Exhibit 1005
`
`
`
`
`
`‘LII’
`
`»
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`UNITED STATES DEPARTMEVT OF COMMERCE
`United States Patent and Trademark Office
`Address. COMMISSIONER FOR PATENTS
`PO Box 1450
`A1exaJidria,Vi.1gLnia 22313-1450
`WvWv.uspto.gov
`
`APPLICATION NUMBER
`
`PATENT NUMBER
`
`GROUP ART UNIT
`
`FILE WRAPPER LOCATION
`
`60/168,862
`
`92001 I 0042 I 012| 11
`
`11111111IlxxrllrmmmrmruumruuumuIuululuumlullx
`
`Correspondence Address/Fee Address Change
`
`The following fields have been set to Customer Number 10689 on 11/26/2010
`- Correspondence Address
`- Maintenance Fee Address
`
`~ Power of Attorney Address
`
`The address of record for Customer Number 10689 is:
`
`10689
`
`Weaver Austin Villeneuve & Sampson LLP - CISC-ANDI
`Attn: CISC-ANDI
`P.O. Box 70250
`
`oakland, CA 94512
`
`PART 1
`
`— ATTORNEY/APPLICANT COPY
`page 1 of 1
`
`Petitioner Ex. 1005 Page 1
`
`Petitioner Ex. 1005 Page 1
`
`
`
`1,2 - age ? ‘I
`PRO VISIONAL APPLICA TION C0 VER SHEET
`
`.
`Attorney Docket No' ' CISCP 1461)
`-
`_
`-
`-
`Flrst Named Inventor‘ Martln Cleslak
`
`-M
`G
`;_. T:
`
`$1
`
`1<:5'_41U.:5.an/15e;ea62llllllllllllllllflllllllg
`
`El Duplicate for fee processing
`
`CERTIFICATE OF EXPRESS MAILING
`I hereby certify that this paper and the documents and/or fees referred to
`as attached therein are being deposited with the United States Postal
`Service on December 02, 1999 in an envelope as “Express Mail Post
`Office to Addressee” service under 37 CFR §l.10, Mailing Label
`Number EL269879788US, addressed to the Assistant Commissioner for
`Patents, Washington, DC 20231.
`_.‘—_-_-L1.
`__-:0
`:§23m,;/_\_4g, Sgttsfl/(A1.e9c
`HE“
`Dionna Holmes
`IA):-_.gM
`C
`3-3
`In
`
`3SI
`
`Assistant Commissioner for Patents
`Box Provisional Patent Application
`Washington, DC 20231
`
`_%‘ -11
`E 3
`
`Sir:
`
`This is a request for filing a PROVISIONAL APPLICATION under 37 CFR l.53(c).
`
`LAST NAME
`
`FIRST NAME
`
`MIDDLE INITIAL
`
`INVENTOR(S)/APPLICANT(S)
`
`
`
`RESIDENCE (CITY AND
`EITHER STATE OR FOREIGN
`COUNTRY
`
` METHOD AND APPARATUS FOR REDIRECTING NETWORK TRAFFIC
`
`TITLE OF INVENTION (280 characters max
`
`CORRESPONDENCE ADDRESS
`
`C
`
`”s‘3E"3§£§‘vt'él'v"éi,TE§243‘
`Palo Alto, CA 94306
`Telephone (650) 493-2100
`
`‘
`:
`
`Illlllllllllllllllllllllllllllllllllllll
`022434
`PRTENT TRPDEHBRK OFFICE
`
`ENCLOSED APPLICATION PARTS check all that a u l
`
`01 Other (specify) Cover Sheet
`
`X Specification
`
`Number of Pages
`
`Small Entity Statement
`
`Drawing(s)
`
`Number of Sheets
`
`X PLEASE DEFER FILING FEES AT THIS TIIVIE.
`
`The inventions made by an agency of the United States Government or under a contract with an agency of the United States Government.
`
`No
`
`Yes, the name of the U.S. Government agency and the contract number are:
`
`Respectfully Submitted,
`
`SIGNATURE
`
`TYPED NAME
`
`”'L & ‘ ML.’
`
`Joe Villeneuve
`
`DATE 12/2/99
`
`REGISTRATION NO.
`
`
`37 460
`
`PROVISIONAL APPLICA TION FILING ONL Y
`
`
`
`
`
`Petitioner Ex. 1005 Page 2
`
`Petitioner Ex. 1005 Page 2
`
`
`
`Attorney Docket No. CISCP146P
`
`PROVISIONAL PATENT APPLICATION
`
`NLETHOD AND APPARATUS
`
`FOR REDIRECTING NETWORK TRAFFIC
`
`Inventor(s):
`
`Martin Cieslak
`
`Alex Tweedly
`
`Assignee:
`
`Cisco Technology Inc.
`
`
`
`BEYER & WEAVER, LLP
`
`620 Hansen Way, Suite A
`Palo Alto, California 94304
`(510) 843-6200
`
`Petitioner Ex. 1005 Page‘3
`
`Petitioner Ex. 1005 Page 3
`
`
`
`lNTERNET-DRAFT
`<draft-ietf-wrec-web-pro-O0.txt>
`
`M Cieslak
`D Forster
`Cisco Systems
`1 Dec 1999
`
`Expires Jun 2000
`
`Web Cache Coordination Protocol V2.0
`
`Status of this Memo
`
`This document is an Internet-Draft and is in full conformance with
`all provisions of Section 10 of RFC2026.
`
`Internet-Drafts are working documents of the Internet Engineering
`Task Force (IETF), its areas, and its working groups. Note that other
`groups may also distribute working documents as Internet-Drafts.
`
`Internet-Drafts are draft documents valid for a maximum of six months
`and may be updated, replaced, or obsoleted by other documents at any
`time.
`it
`is inappropriate to use Internet-Drafts as reference
`material or to cite them other than as "work in progress".
`
`The list of current
`
`Internet-Drafts can be accessed at
`
`http //www ietf org/ietf/lid—abstracts txt
`
`The list oflnternet-Draft Shadow Directories can be accessed at
`
`http://www éetf org/shadow ntmi
`
`If any
`Cisco hasa patent pending that may relate to WCCP V2.0.
`patents issue to Cisco or its subsidiaries with claims that are
`necessary for practicing WCCP V2.0, then any party will be able to
`obtain a license from Cisco to use any such patent claims under
`openly specified, reasonable, non-discriminatory terms to implement
`WCCP V2.0. No license is required for nonprofit institutions.
`
`Abstract
`
`This draft documents the Web Cache Coordination Protocol (WCCP) V2.0.
`This protocol
`is used (a) to associate one or more routers with one
`or more web-caches for the purposes of transparent redirection of
`HTTP traffic, and (b) to allow one of the web-caches to dictate how
`the router or routers distribute transparent|y—redirected traffic
`across the associated web-caches.
`
`This draft describes the interactions between one or more routers and
`one or more web-caches. It does not describe the interactions between
`a group of associated web-caches or those between a web-cache and a
`web-server.
`
`[Page 1]
`
`
`
`Petitioner Ex. 1005 Page 4
`
`Petitioner Ex. 1005 Page 4
`
`
`
`Definitions
`
`Transparent Redirection.
`
`Transparent redirection is a technique used to deploy web-caching
`without the need for reconfiguration of web-clients. It involves
`the interception and redirection of HTTP traffic to one or more
`web—caches by a router or switch, transparently to the web—client.
`
`Web-Cache Farm.
`
`One or more web—caches associated with a router or routers.
`
`Designated Web-Cache.
`
`The web-cache in a web-cache farm responsible for dictating to the
`router or routers how redirected traffic should be distributed
`across the members of the farm.
`
`Redirection Hash Table.
`
`A 256—bucket hash table maintained by the router or routers. This
`table maps the IP destination address of a packet for redirection
`to the IP address of a web-cache in the farm
`
`Description of Protocol
`
`is to allow one or more
`WCCP has two main functions. The first
`routers enabled for transparent redirection to discover, verify, and
`advertise connectivity to one or more web-caches.
`
`The second function is to allow one of the web—caches, the designated
`web-cache, to dictate how the router or routers distribute redirected
`traffic across the web-cache farm.
`
`It is recommended that the web-cache with the lowest IP address is
`
`elected as designated web-cache for a farm.
`
`WCCP V2.0 enhancements
`
`WCCP V2.0 supports the following enhancements to the WCCP V1.0
`protocol.
`
`* Multi-Router Support.
`WCCP V2.0 allows a farm of web-caches to be attached to more than
`one router.
`
`* Multicast Support.
`
`[Page 2]
`
`
`
`Petitioner Ex. 1005 Page 5
`
`Petitioner Ex. 1005 Page 5
`
`
`
`WCCP V2.0 supports multicasting of protocol messages between web-
`caches and routers.
`
`* Improved Security.
`WCCP V2.0 provides optional authentication of protocol packets
`received by web-caches and routers.
`
`* Support for redirection of non-HTTP traffic.
`WCCP V2.0 supports the redirection of
`traffic other than HTl'P
`traffic through the concept of Service Groups.
`
`* Packet return.
`WCCP V2.0 allows a web-cache to decline to service a redirected
`packet and to return it to a router for onwards transmission.
`
`* Alternative Hashing.
`WCCP V2.0 allows the designated web-cache to mark individual buckets
`in the Redirection Hash Table for a secondary hash. This allows the
`traffic being hashed to a particular bucket to be distributed across
`the members of a Service Group.
`
`Protocol Description
`
`Joining a Service Group
`
`A web-cache joins, and maintains its membership of. a Service Group
`by transmitting a WCCP2_HERE_l_AM packet to each router in the Group
`at HERE__I_AM__T (10) second intervals. This may be by unicast to each
`router or multicast to the configured Service Group multicast
`address. The Web Cache Info component in the WCCP2_HERE_l_AM
`identifies the web cache by IP address. The Service Info component of
`the WCCP2_HERE_l_AM identifies and describes the Service Group in
`which the cache wishes to participate.
`
`A router responds to a WCC P2_HERE_|_AM packet with a WCCP2_|_SEE_YOU
`packet.
`If the WCCP2_HERE_l_AM was unicast then the router will
`respond immediately with a unicast WCCP2_|_SEE_YOU.
`If
`the
`WCCP2_HERE_l_AM was multicast the router will respond via the
`scheduled multicast WCCP2_l_SEE_YOU for the Service Group.
`
`A router responds to multicast web-cache members of a Service Group
`using a multicastWCCP2_|_SEE_YOU transmitted at 9 second intervals
`with a 10% jitter.
`
`The Router Identity component in the WCCP2_|_SEE_YOU includes a list
`of the web-caches to which the packet is addressed. A web-cache not
`in the list should discard the WCCP2_|_SEE_YOU.
`
`[Page 3]
`
`
`
`
`Petitioner Ex. 1005 Page 6
`
`Petitioner Ex. 1005 Page 6
`
`
`
`Describing a Service Group
`
`The Service Info component of the WCCP2_HERE_|_AM describes the
`Service Group in which a web cache wishes to participate. A Service
`Group is identified by Service Type and Service ID. There are two
`types of Service Group:
`
`* Well Known Services
`
`* Dynamic Services.
`
`Well Known Services are known by both routers and web-cache and do
`not require a description other than a Service lD. Dynamic Services
`on the other hand must be described to a router. We assume that a
`router may be configured to participate in a particular Dynamic
`Service Group, identified by Service ID, without any knowledge of the
`characteristics of
`the Service Group's traffic. The traffic
`description is communicated to the router in the WCCP2_HERE_|_AM of
`the first web cache to join the Group. Aweb-cache describes a
`Dynamic Service using the Protocol, Service Flags and Port fields of
`the Service Info component. Once a Dynamic Service has been defined a
`router will discard a subsequent WCCP2_HERE_|_AM which contains a
`conflicting description. A router will also discard a WCCP2_HERE_|_AM
`which describes a Service Group for which the router has not been
`configured.
`
`Establishing two-way connectivity
`
`WCCP V2.0 uses a Receive_lD to verify two-way connectivity between a
`router and a web-cache. The Router Identify Info component of a
`WCCP2_l_SEE_YOU contains a "Receive lD" field. The value of this
`field is per-Service Group and is incremented each time the router
`sends a WCCP2_l_SEE_YOU to the Service Group.
`
`The "Receive lD" sent by a router is reflected back to it by a web-
`cache in the Web-Cache View Info component of a WCCP2_HERE_|_AM. The
`router checks the value of its "Received_lD" in each WCCP2_HERE_|_AM
`received from a Service Group member. This value must match the
`"Received_lD" in the last WCCP2_l_SEE_YOU sent to that member. if the
`value does not match the WCCP2_HERE_|_AM is discarded.
`
`A router considers a web-cache member of a Service Group to be
`useable only after it has sent the member a WCCP2_l_SEE_YOU and
`received a WCCP_HERE_I_AM with a valid "Received_|D" in response.
`
`Advertising views of the Service Group
`
`Each router advertises its view ofa Service Group via the Router
`View Info component in the WCCP2_l_SEE_YOU it sends to web caches.
`
`[Page 4]
`
`
`
`
`Petitioner Ex. 1005 Page 7
`
`Petitioner Ex. 1005 Page 7
`
`
`
`This component includesa list of the useable web caches in the
`Service Group as seen by the router and a list of the routers in the
`Service Group as reported in WCCP2_HERE_l_AMs from web-caches. A
`change number in the component is incremented if the Service Group
`membership has changed since the last WCCP2_l_SEE_YOU sent by the
`router.
`
`Each web cache advertises its view of the Service Group via the Web
`Cache View Info component in the WCCP2_HERE_l_AM it sends to routers
`in the Service Group. This component includes the list of routers
`that have sent the web-cache a WCCP2_|_SEE__YOU and a list of web-
`caches learnt from these WCCP2_l_SEE_YOU messages. The Web Cache View
`Info also includes a change number which is incremented each time
`Service Group membership information changes.
`
`Querying time-out
`
`If a router does not receive a WCCP2_HERE_l_AM from a Service Group
`member for 2.5 * HERE_l_AM_T seconds it will query the member by
`unicasting a WCCP2_REMOVAL_QUERY packet to it. The target Service
`Group member should respond by sending a series of3 identical
`WCCP2_HERE_l_AM packets, each separated by HERE_|_AM_T/10 seconds.
`
`Connectivity time-out
`
`If a router does not receive a WCCP2_HERE_l_AM from a Service Group
`member for 3 * HERE_l_AM_T seconds it will consider the member to be
`unusable and remove it from the web-cache list of the Router View
`Info component in its WCCP2_I_SEE_YOU. and from its Redirection Hash
`Table.
`
`Security
`
`WCCP V2.0 provides a security component in each protocol message to
`allow simple authentication. Two options are supported:
`* No Security (default)
`* MD5 password security
`
`MD5 password security requires that each router and web-cache wishing
`to join a Service Group be configured with the Service Group
`password. Each WCCP protocol packet sent by a router or web-cache for
`that Service Group will contain in its security component the MD5
`checksum of the WCCP protocol message (from the WCCP message header)
`and an Service Group password. Each web-cache or router in the
`Service Group will authenticate the security component in a received
`WCCP protocol packet
`immediately after validating the WCCP message
`header. Packets failing authentication will be discarded.
`
`[Page 5]
`
`
`
`
`Petitioner Ex. 1005 Page 8
`
`Petitioner Ex. 1005 Page 8
`
`
`
`Traffic Assignment
`
`Each router uses a 256-bucket Redirection Hash Table to distribute
`traffic for a Service Group across the member web-caches. It is the
`responsibility of the Service Group's designated web-cache to assign
`each router's Redirection Hash Table.
`
`The designated web-cache uses a WCCP2_REDlRECT_ASSlGNMENT message to
`assign the routers‘ Redirection Hash Tables. This message is
`generated following a change in Service Group membership and is sent
`to the same set of addresses that the web-cache sends WCCP2_HERE_l_AM
`messages to. The designated web-cache will wait 1.5 HERE_l_AM_T
`seconds following a change before generating the message in order to
`allow the Service Group membership to stabilise.
`
`The Assignment Info component of the WCCP2_RED|RECT_ASSlGNMENT
`contains an Assignment Key. This will be reflected back to the
`designated web-cache in subsequent WCCP2_l_SEE_YOU messages from the
`routers. A WCCP2_RED|RECT_ASSlGNMENT may be repeated after
`HERE_l_AM_T seconds if inspection of WCCP2_l_SEE_YOU messages
`indicates a router has not received an assignment.
`
`flush its Redirection Hash Table if a
`A routers will
`WCCP2_REDlRECT_ASSlGNMENT is not received within 5 HERE_l_AM_T
`seconds of a Service Group membership change.
`
`it receives a
`A router will flush its Redirection Hash Table if
`WCCP2_REDlRECT_ASSlGNMENT in which the router is not listed.
`
`The designated web-cache lists the web-caches to which traffic should
`be distributed in
`the Assignment
`Info component of the
`WCCP2_REDlRECT_ASS|GNMENT message. Only those web-caches seen by
`every router in the Service Group are included.
`
`Electing the designated web-cache
`
`The designated web-cache is the web-cache in the Service Group with
`the lowest IP address. The designated web-cache must be receiving a
`WCCP2_l_SEE_YOU from every router in the Service Group.
`
`Election of the designated web-cache will take place once a Service
`Group membership has stabilised following a change. (see Traffic
`Assignment).
`
`Traffic Interception and Redirection
`
`Interception
`
`[Page 6]
`
`
`
`Petitioner Ex. 1005 Page 9
`
`Petitioner Ex. 1005 Page 9
`
`
`
`Arouter will check packets passing through it against its set of
`Service Group descriptions. The Service Group descriptions are
`checked in priority order. Apacket which matches a Service Group
`description is a candidate for redirection toaweb-cache in the
`Service Group.
`
`A router will not redirecta packet with a source IP address of a
`web-cache in the Service Group.
`
`Redirection
`
`In the
`The router will redirect packets using a tvvo-stage process.
`first stage a primary key is formed from the packet (as defined by
`the Service Group description) and hashed to yield an index into the
`Redirection Hash Table.
`
`If the Hash Table entry contains an unflagged web-cache index then
`the packet will be redirected to that web-cache. If the bucket is
`unassigned the packet is fonlvarded without redirection. If the bucket
`is flagged as requiring a secondary hash then a secondary key is
`formed and hashed to yield an index into the Hash Table.
`If the
`secondary entry contains a web-cache index then the packet will be
`directed to the web-cache; if the entry is unassigned the packet will
`be forwarded without redirection.
`
`Encapsulation
`
`Redirected packets are encapsulated in a new IP packet with a GRE [1]
`header followed by a four-octet Redirect header.
`
`The GRE encapsulation uses the simple four-octet GRE header with the
`two Flags and Version octets set to zero and a Protocol Type of
`0x883E.
`
`The Redirect header is as follows:
`
`+-+-+-+-+-+-+-+-+—+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`| Pri Bucket
`|D|A| Reserved | Service ID | Alt Bucket
`+-+-+—+-+-+--I--+-+-+-+-+-+—+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+
`
`
`
`
`D
`A
`
`Dynamic Service
`Alternative bucket used
`
`Service ID
`
`Service Group identifier
`
`Alt Bucket
`
`[Page 7]
`
`Petitioner Ex. 1005 Page 10
`
`Petitioner Ex. 1005 Page 10
`
`
`
`Alternative bucket index
`
`Pri Bucket
`
`Primary bucket index
`
`Packet Return
`
`WCCP V2.0 allows aweb—cache to decline a redirected packet and
`return it
`to a router for onwards transmission to the server
`specified by the packet's destination IP address. The router must not
`attempt to redirect such returned packets. However since the returned
`packet will retain its original source IP address the router cannot
`use this to distinguish these packets from valid candidates for
`redirection.
`
`There are two mechanisms to prevent redirection of returned packets.
`* Interface-based
`
`* Encapsulated
`
`The Interface mechanism requires a router to be configured to inhibit
`redirection of packets arriving over interfaces connected to web-
`caches. This mechanism is efficient but
`is topology-dependant and
`thus will not always be suitable.
`
`The Encapsulation mechanism requires a web-cache to send encapsulated
`returned packets to the router. Encapsulated return packets will be
`encapsulated in a GRE packet [1] with a Protocol Type of 0x883E and
`will also contain the original Redirect Header. The router will
`decapsulate the packets and fonrvard them without attempting to
`redirect.
`
`
`
`[Page 8]
`
`Petitioner Ex. 1005 Page 11
`
`Petitioner Ex. 1005 Page 11
`
`
`
`Protocol Messages
`
`Each WCCP protocol packet is carried in a UDP packet with a
`destination port of 2048.
`
`
`
`Messages
`
`There are four WCCP V2.0 messages:
`* WCCP2_HERE_i_AM
`* WCCP2_|_SEE_YOU
`* WCCP2_REDIRECT_ASSIGN
`* WCCP2_REMOVAL_QUERY
`
`Here I Am
`
`+--—-—---------—------------—------+
`
`WCCP Message Header
`|
`+---------——--—-----------—----------+
`
`|
`
`Security Info Component
`]
`+---------—-------------—--—------+
`
`Service Info Component
`|
`+--------------------------------+
`
`1
`
`|
`
`| Web-Cache Identity info Component |
`+..............................--+
`
`| Web-Cache Viewlnfo Component
`+---------------------------------+
`
`|
`
`I See You
`
`+----------—-------—-----------------+
`
`|
`WCCP Message Header
`I'""'§;ZJHt;']EE;'EE}§{r33;1;Ef
`1+'""'§;Ei§;iE%£§E§r}I»ZH;}.T
`.+‘'EEE£.;‘TJ;}£{{y"[5F;E;'&{;3Zent
`1+N"}E3{.12;}'{}{;;i'IH€JEZ&}E3$2nt
`
`+——--------—-----—---—---—------+
`
`I
`I
`
`Removal Query
`
`+------—------——---——----—-—-—-—-+
`
`WCCP Message Header
`|
`+--------—-—------—----—-------------—+
`
`Security Info Component
`|
`+---------—---—---------———-—------+
`
`|
`
`|
`
`.
`I
`
`|
`
`[Page 9]
`
`Petitioner Ex. 1005 Page 12
`
`Petitioner Ex. 1005 Page 12
`
`
`
`|
`
`Service Info Component
`+---------------------------------+
`
`|
`
`Router Query Info Component
`|
`+--------—------—----------—-------+
`
`|
`
`Redirect Assignment
`
`I'““"naa'e‘r;;;;;;;".;;;;;,
`I"'"';;;;;2;‘r.;;;;;;;.;;;'
`I"'"‘;;:;;1;;;"5;;;.;;;;;:;*
`F"“";;;;g;;;;;.;‘;;;2:;;;.;;;en.
`
`+-----—----------—-—---—---------+
`
`l
`I
`
`.
`
`.
`
`Message Components
`
`Each packet comprises a WCCP Message Header followed by a number of
`message components. These components are:
`
`* Security Info
`* Service Info
`
`* Assignment Info
`* Web-Cache Identify Info
`* Router Identity Info
`* Web-Cache View Info
`* Router View Info
`
`* Router Query lnfo
`
`Components are padded to align on a four—octet boundary. Each
`component has a 4-octet header specifying the component type and
`length. Note that the length value does not
`include the 4-octet
`headen
`
`
`
`
`[Page 10]
`
`Petitioner Ex. 1005 Page 13
`
`Petitioner Ex. 1005 Page 13
`
`
`
`WCCP Message Header
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+-+—+—+—+—+—+—+-+—+—+-+-+-+-+-+—+-+-+—+—+-+-+—+-+-+-+—+-+-+-+-+-+
`
`I
`Type
`I
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+
`
`|
`Length
`|
`Version
`|
`+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+-+-+-+-+—+-+-+-+-+—+-+-+-+-+-+
`
`Type
`
`WCCP2_HERE_I_AM (10)
`WCCP2_I_SEE_YOU (11)
`WCCP2_RED|RECT_ASSlGN (12)
`WCCP2_REMOVAL_QUERY (13)
`
`Version
`
`0x200
`
`Length
`
`Length of WCCP message, not including Message Header.
`
`
`
`[Page 11]
`
`Petitioner Ex. 1005 Page 14
`
`Petitioner Ex. 1005 Page 14
`
`
`
`Security Info Component
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.+-+-+-+-+_+-+-+-+-+-+-+-+
`
`|
`Length
`I
`Type
`|
`+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Security Option
`|
`+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+—+-+-+-+
`
`Security Implementation
`
`I
`
`I
`I
`-
`I
`I
`-
`I
`+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+
`
`I I
`
`Type
`
`WCCP2_SECURITY_INFO (0)
`
`Length
`
`Length of component.
`
`Security Option
`
`WCCP_NO_SECUR|TY (O)
`WCCP_MD5_SECURITY (1)
`
`Security Implementation
`
`If Security Option is WCCP_N0_SECURITY then this field is not
`present.
`If Security Option is WCCP_MD5_SECURITY this is a 16-
`octet field containing the MD5 checksum of the WCCP packet and a
`Service Group password. The maximum password length is 7 octets.
`
`Prior to calculating the MD5 checksum the password should be
`padded out to 8 octets with trailing zeros, and the Security
`Implementation field of the Security Option set to zero. The MD5
`checksum is calculated using the 8 octet padded password and WCCP
`message body (including the WCCP Message Header).
`
`
`
`
`[Page 12]
`
`Petitioner Ex. 1005 Page ‘I5
`
`Petitioner Ex. 1005 Page 15
`
`
`
`Service Info Component
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+
`
`I
`Length
`I
`Type
`I
`+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+—+—+—+-+—+—+—+
`
`I
`I Protocol
`|Service Type I Service ID I Priority
`+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+—+-+-+-+-+-+-+
`
`I
`Service Flags
`I
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—-l-
`
`I
`Port 1
`I
`Port 0
`|
`+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+
`
`I I I
`
`I I I
`
`.
`+--I--+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`Petitioner Ex. 1005 Page ‘I6
`
`I
`Port 7
`I
`Port 6
`—+-+-+-+-+-+-+-+-+—+-+-+-+-+ -+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+-+-+
`
`I+
`
`Type
`
`WCCP2_SERVICE_INFO (1)
`
`Length
`
`Length of component.
`
`Service Type
`
`WCCP2_SERVICE_STANDARD (0).
`Service is a well-known service and is described by the Service
`ID. All fields other than Service ID must be zero.
`
`WCCP2_SERVICE_DYNAMIC (1).
`Service is defined by the Protocol, Service Flags and Port fields.
`
`Service ID
`
`Service number. The Service numbers for well-known services are:
`
`0x00 HTTP
`
`Priority
`
`Lowest priority is 0, highest is 255. Packets for redirection are
`matched against Services in priority order, highest first.
`
`[Page 13]
`
`
`
`
`Petitioner Ex. 1005 Page 16
`
`
`
`Protocol
`
`IP protocol identifier
`
`Service Flags
`
`0x0001 Source lP Hash
`Ox0002 Destination lP Hash
`OXOOO4 Source Port Hash
`0x0008 Destination Port Hash
`0xOO10 Ports Defined.
`0x002O Ports Source.
`0x0100 Source lP Alternative Hash
`0x0200 Destination IP Alternative Hash
`Ox040O Source Port Alternative Hash
`0x080O Destination Port Alternative Hash
`
`
`
`
`The primary hash flags (Source IP Hash, Destination lP Hash,
`Source Port Hash, Destination Port Hash) determine the key which
`will be hashed to yield the Redirection Hash Table primary bucket
`index. If only the Destination IP Hash flag is set then the packet
`destination IP address is used as the key. Otherwise if any of the
`primary hash flags are set then the key is constructed by XORing
`the appropriate fields from the packet with the key (which has an
`initial value of zero).
`
`The key is hashed using the following algorithm:
`
`ulong hash = key;
`hash "= hash >> 16;
`hash "= hash >> 8;
`
`return(hash & 0xFF);
`
`If alternative hashing has been enabled for the primary bucket
`(see Assignment lnfo Component) the alternate hash flags (Source
`IP Alternative Hash, Destination lP Alternative Hash, Source Port
`Alternative Hash, Destination Port Alternative Hash) determine the
`key which will be hashed to yield a secondary bucket
`index. The
`key is constructed by XORing the appropriate fields from the
`packet with a key of zero initial value.
`
`Port 0-7
`
`List of UDP or TCP port identifiers. Zero-terminated. Packets will
`be matched against this set of ports if the Ports Defined flag is
`set.
`If the Ports Source flag is set indicates the port
`information refers to a packets source port. If clear it indicates
`that port information refers to a destination port.
`
`[Page 14]
`
`Petitioner Ex. 1005 Page 17
`
`Petitioner Ex. 1005 Page 17
`
`
`
`Router Identity Info Component
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+—+-+-+-+-+-+-+-+-+_+-+-+-+-+_+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+_+.+
`
`I
`Length
`|
`Type
`|
`+—+-+—+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+--|--+-+-+-+-+-+-+—+-+-+-+-+-+
`
`|
`
`Router ID Element
`
`|
`
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+
`
`|
`Sent To Address
`|
`+-+—+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Number Received From
`|
`+-+-+-+-+-+-+-+-+—+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+—+-+
`
`|
`Received From Address 0
`|
`+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+
`
`I
`~
`I
`I
`-
`I
`I
`-
`I
`+-+-+-+-+-+—+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+
`
`Received From Address n
`|
`+-+—+—+-+—+-+-+—+-+-+—+-+—+—+—+—+—+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`Type
`
`WCCP2_ROUTER_lD_INFO (2)
`
`Length
`
`Length of component.
`
`Router ID Element
`
`Router‘s identifying IP address and Receive ID.
`
`Sent To Address
`
`IP address that targetweb-cache sent WCCP2_HERE_l_AM to. When
`this component is present in a unicast WCCP2_I_SEE_YOU it will
`contain the IP address that the target web-cache used. When
`present in a mu|ticastWCCP2_|_SEE_YOU it will contain the Service
`Group muiticast address.
`
`Number Received From
`
`Number of web-caches that have sent this router a WCCP_HERE_I_AM.
`
`Received From Address 0-n
`
`[Page 15]
`
`
`
`Petitioner Ex. 1005 Page 18
`
`Petitioner Ex. 1005 Page 18
`
`
`
`List of IP addresses of web-caches that have sent this router a
`WCCP2_HERE_l__AM. Note that these are not necessarily useable web-
`caches.
`
`Router ID Element
`
`+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+-+-+-+-+
`
`|
`Router ID
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+
`
`|
`Receive lD
`|
`+-+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+
`
`Router ID
`
`Router's identifying IP address
`
`Receive ID
`
`Per-Service Group. lncremented each time the router sends a WCCP
`protocol packet with a Router Identity Info component. Will never
`be zero.
`
`
`
`[Page 16]
`
`Petitioner Ex. 1005 Page 19
`
`Petitioner Ex. 1005 Page 19
`
`
`
`Web-Cache Identity Info Component
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Length
`|
`Type
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+
`
`|
`
`Web-Cache Identity Element
`
`|
`
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ -+-+-+-+-+-+-+-+-+—+-+
`
`Type
`
`WCCP2_WC_|D_lNFO (3)
`
`Length
`
`Component length.
`
`Web-Cache Identity Element
`
`Web-cache IP address and Redirection Hash Table mapping
`
`
`
`[Page 17]
`
`Petitioner Ex. 1005 Page 20
`
`Petitioner Ex. 1005 Page 20
`
`
`
`Web-Cache Identity Element
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+-+—+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+
`
`|
`WC Address
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Reserved
`|U|
`Hash Revision
`|
`+-+-+-+-+—+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+
`
`|
`Bucket Block 0
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`+—+-+-+-+-+-+-+-+—+-+—+—+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+
`
`|
`Bucket Block 7
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+.+-+-+.+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Status
`|
`| Assignment Weight
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+—+-+--l--+-+-+
`
`WC Address
`
`Web-Cache IP address
`
`Hash Revision
`
`0
`
`U
`
`If set indicates that web cache does not have an assignment in the
`Redirection Hash Table and that Bucket Block data is historical.
`Historical data may be used by the designated web-cache to re-
`assign the same bucket set to a web-cache that left and
`subsequently rejoined a Service Group.
`
`Bucket Block 0-7
`
`256-bit vector. A set bit indicates the corresponding Redirection
`Hash Table bucket is assigned to this web-cache.
`
`Assignment Weight
`
`Hash weight. May be used to indicate to designated web-cache how
`new assignments should be made.
`
`Status
`
`[Page 18]
`
`
`
`
`Petitioner Ex. 1005 Page 21
`
`Petitioner Ex. 1005 Page 21
`
`
`
`Hash status. May be used to indicate to designated web-cache how
`new assignments should be made.
`
`
`
`[Page 19]
`
`Petitioner Ex. 1005 Page 22
`
`Petitioner Ex. 1005 Page 22
`
`
`
`Petitioner Ex. 1005 Page 23
`
`Router View Info Component
`
`This represents a router's view of the Service Group.
`
`3
`2
`1
`0
`O12345678901234567890123
`+-+-+-+-+-+-+-+-+—+-+-+-+-+—+-+-+—+-+-+—+-+
`
`45678901
`—+—-I---I--+-+-+-+—+-+-+—+
`
`Length
`|
`Type
`|
`+-+-+-+-+-+—+-+—+-+-+-+-+—+-+-+-+-+-+-+-+-+
`
`-+-+-+—+-+-+-+-+-+—+-+
`
`Member Change Number
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+.+-+-+-+-+-+-+
`
`-+-+—+-+-+-+-+-+—+-+-+
`
`Assignment Key
`|
`I
`-
`I
`+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+—+-+—+-+-+-+
`
`I
`
`-+-+-+-+-+-+-+-+-+-+-+
`
`Number of Routers
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Router 0
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+
`
`-+—+-+-+-+-+-+-+—+-+-+
`
`I
`.
`I
`I
`.
`I
`I
`-
`I
`+-+—+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+ -+-+
`
`—+-+-+—+-+-+-+-+-+-+-+
`
`|
`Router n
`|
`+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+
`
`-+-+-+-+—+-+-+-+—+-+-+
`
`Number of Web-Caches
`I
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+~+-+-+-+-+-+
`
`—+-+-+-+-+-+-+-+-+-+-+
`
`Web-Cache Identity Element 0
`|
`-
`I
`I
`+-+-+—+-+-+-+-+-+—+-+-+-+-+-+-+-+-+—+-+--|-—+
`
`I
`-
`I
`I
`-
`I
`I
`-
`I
`+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+—+-+-+-+—+
`
`|
`Web-Cache Identity Element n
`l+—+-+-+-+-+-+-+-+-+;+-+-+-+-+-+-+-+-+--I!-+-+
`
`-+-+-+—+-+-+-+-+-+-+-+
`
`-+-+—+-+-+-+-+-+-+-+—+
`
`-+-+-+-+—+-+-+-+—+-+-+
`
`Type
`
`WCCP2_RTR_V|EW_lNFO (4)
`
`Length
`
`Length of component.
`
`Member Change Number
`
`incremented each time there is a change in Service Group
`
`[Page 20]
`
`
`
`Petitioner Ex. 1005 Page 23
`
`
`
`Petitioner Ex. 1005 Page 24
`
`membership. Will not be zero.
`
`Assignment Key
`
`Assignment Key received in last WCCP2_REDiRECT_ASSiGNMENT. Used by
`designated web-cache to verify an assignment has been executed.
`
`Number of Routers
`
`Number of routers in Service Group
`
`Router 0-n
`
`iP addresses of routers in Service Group. This list is constructed
`from routers reported by web-caches via WCCP2_HERE_|_AM packets.
`Note that a router does not include itself in the list unless it
`has also been reported via a WCCP2_HERE_|_AM.
`
`Number of Web-Caches
`
`Number of useable web-caches in Service Group
`
`Web-Cache identity Element 0-n
`
`identity elements of useable web-caches in Service Group. This
`list contains web-caches that have sent
`the router a
`WCCP2_HERE__l_AM with a valid Received ID for the router.
`
`Assignment Key Element
`
`This element identifies a particular assignment.
`
`+-+—+-+-+-+-+-+-+-+-+—+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+
`
`|
`Key IP Address
`[
`+-+—+-+-+-+—+-+-+—+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+
`
`|
`Key Change Number
`i
`+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+—+-+-+—+-+-+-+-+-+-+-+—+-+-+-+
`
`
`
`Key IP Address
`
`Designated web-cache IP address
`
`Key Change Number
`
`incremented if a change has occurred. is never zero.
`
`[Page 21]
`
`Petitioner Ex. 1005 Page 24
`
`
`
`Web Cache View info Component
`
`This represents a web~cache's view of the Service Group.
`
`3
`2
`1
`0
`01234567890123456789012345678901
`+-+-+-+-+-+~+-+—+-+-+~+-+-+-+-+-+-+-+-+-+—+--I--+-+-+-+-+-+-+-+-+-+
`
`|
`Length
`|
`Type
`|
`+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
`
`|
`Change Number
`|
`+-+-+—+—+-+—+-+-+-+-+—+-+-+-+-+-+-+—+-+-+-+-+—+-+-+-+-+-+-+-+-+-+
`
`|
`Number of Routers
`|
`+-+-+-+-+-+-+-+-+—+-+-+-+-+-+-+-+-+-+-+-+-+-+-+—+-+-+-+-+-