throbber
(12) United States Patent
`Jungck et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,210,022 B2
`Apr. 24, 2007
`
`US007210022B2
`
`(54) APPARATUS AND METHOD FOR
`INTERCONNECTING A PROCESSOR TO
`CO-PROCESSORS USING ASHARED
`MEMORY AS THE COMMUNICATION
`INTERFACE
`
`(75) Inventors: Peder J. Jungck, San Jose, CA (US);
`Andrew T. Nguyen San Jose, CA
`~.
`s
`(US); Zahid Najam, San Jose, CA (US)
`(73) Assignee: Cloudshield technologies, Inc., San
`Jose, CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 459 days.
`(21) Appl. No.: 09/858,308
`9
`May 15, 2001
`
`(*) Notice:
`
`(22) Filed:
`
`5,870,109 A * 2/1999 McCormack et al. ....... 345,565
`5,938,737 A
`8/1999 Smallcomb et al. ........ 709/247
`5,953,503 A
`9, 1999 Mitzenmacher
`et al. ..................... 395.200.33
`5,987,568 A * 11/1999 Adams et al. .............. T11 118
`5.991,713 A 11/1999 Unger et al. ................... TO4/9
`6,014,660 A
`1, 2000 Lim et al. ...................... 707/3
`6,016,512 A
`1/2000 Huitema
`... TO9.245
`6,046,980 A
`4/2000 Packer ...
`... 370,230
`6,052,718. A
`4/2000 Gifford ................
`... TO9,219
`6,070,191 A
`5/2000 Narendran et al. ......... TO9,226
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`O 865 180 A2
`3, 1998 .................... 12.56
`
`EP
`
`(Continued)
`OTHER PUBLICATIONS
`
`(65)
`
`Prior Publication Data
`US 2003 FOOO9651 A1
`Jan. 9, 2003
`• - s
`
`(51) Int. Cl.
`(2006.01)
`G06F 3/00
`(52) U.S. Cl. ........................................................ 712/34
`(58) Field of Classification Search .................. 71234
`712.238,235. 7021,700/215.237,235.
`709/250, 238; 34.5/503
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`9, 1987 Elliott et al. ................ 370/401
`4,692.918 A
`4,744,078 A * 5/1988 Kowalczyk ................. 370,364
`5, 195,181 A
`3/1993 Bryant et al. ............... 709,215
`5,313,586 A * 5/1994 Rutman ..........
`712/34
`5,406,472 A
`4, 1995 Simmons et al. .............. TOO/4
`5,566,170 A 10, 1996 Bakke et al. ............... 370,392
`5,784,582 A
`7/1998 Hughes ...................... 71 Of 117
`5,805,820 A
`9, 1998 Bellowin et al. ....... 395.200.55
`5,822,768 A * 10/1998 Shakkarwar ................ T11 149
`5,867,704 A
`2, 1999 Tanaka et al. .............. T18, 105
`
`The Authoritative Dictionary of IEEE Standard Terms, Standards
`Information Network IEEE Press, 7th Edition, 2000, pp. 725 and
`882.*
`
`(Continued)
`Primary Examiner Eric Coleman
`(74) Attorney, Agent, or Firm James L. Katz, Brinks Hofer
`Gilson & Lione
`(57)
`
`ABSTRACT
`
`An apparatus and method for interfacing a processor to one
`or more co-processors provides a dual ported memory to be
`used as a message passing buffer between the processor and
`the co-processors. Both the processor and co-processors can
`connect asynchronously to the dual ported memory. Control
`logic monitors activity by the processor to alert the co
`processors of communications by the processor written to
`the memory and otherwise allows the processor and co
`processors to think they are interfacing directly with one
`another.
`
`42 Claims, 16 Drawing Sheets
`
`BUS
`
`
`
`
`
`
`
`
`
`
`
`
`
`SSRAM 28A
`
`
`
`230B
`A
`DPSSRAM
`
`SRAM
`Control
`20B Logic
`228B
`
`24(122A, 122B)
`
`-
`
`238
`
`C.
`Processor
`
`103
`
`Pro
`
`t l
`
`238
`
`Cloudflare - Exhibit 1086, page 1
`
`

`

`US 7,210,022 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`6,073,168 A
`6/2000 Mighdoll et al. ........... 709/217
`6,084,878 A
`7/2000 Crayford et al. ..... ... 370,389
`6,108,703 A
`8/2000 Leighton et al. ..
`... 709,226
`6,173,333 B1* 1/2001 Jolitz et al. .......
`... 709/240
`6,247,059 B1
`6/2001 Johnson et al. ...
`... 709,237
`6,289,421 B1* 9/2001 Ali et al. ..........
`... 711 149
`6,295,599 B1* 9/2001 Hansen et al. ................ 71.2/32
`6,317,805 B1 * 1 1/2001 Chilton et al. ....
`... 714,800
`6,392,654 B1* 5/2002 Gallotta et al.
`... 345,503
`6.424,658 B1
`7/2002 Mathur .............
`370,429
`... 712/34
`6,438,678 B1* 8/2002 Cashman et al. .
`6,591.302 B2 * 7/2003 Boucher et al. .....
`709/230
`6,622, 185 B1* 9/2003 Johnson et al. ...
`... 710/48
`6,662,247 B1 * 12/2003 Ales et al. .....
`... T10/52
`6,678,801 B1* 1/2004 Greim et al. ..
`... 711 148
`6,782.445 B1* 8/2004 Olgiati et al......
`... 711 100
`2002fOOO9079 A1
`1/2002 Jungck et al. ....
`... 370,389
`2002fOO65938 A1
`5/2002 Jungck et al. ....
`... 709/246
`2002/0194291 Al 12/2002 Jungck et al. .............. TO9,213
`FOREIGN PATENT DOCUMENTS
`
`
`
`EP
`EP
`WO
`WO
`WO
`WO
`WO
`WO
`WO
`
`2/1999 ...................... 29/6
`WO 99/09725
`106.1439 A1 * 12/2000
`WO 98,17039
`4/1998 ...................... 29.2
`WO 99,05584
`2, 1999
`WO 99.27684
`6/1999
`WO 99,60459
`11, 1999
`WOOOf 14938
`3, 2000
`WOOOf 27092
`5/2000 .................... 29, 12
`WOOO,28713
`5/2000
`...................... 29.2
`
`.................... 12/28
`
`OTHER PUBLICATIONS
`High Performance Memories, Betty Prince, John Wiley & Sons,
`1996, pp. 2, 18, 90, and 91.*
`John Pescatore, Gartner Analyst, “Commentary: Digging into the
`DNS foundation,” obtained at internet address, http://news.cnet.
`com/news/0-1005-202-2080091.html, Jun. 15, 2000.
`Rainbow Technologies Products, “CryptoSwift eCommerce Accel
`erator,” obtained at internet address, http://isgrainbow.com/prod
`ucts/cs 1.html, Aug. 5, 2000.
`FlowWise Networks, Inc., “AutoRouteTM Automatic Configuration
`of Layer 3 Routing,” www.flow wise.com.
`Flow Wise, “Router Accelerator RA 7000 from Flow Wise.”
`obtained at internet address http://www.flowise.com/products/
`ra,000.htm.
`IntelR IXP1200 Network Processor, obtained at internet address,
`http://developerintel.com/design/network/ixp1200.htm.
`Marshall Brain, How Stuff Works, “How Web Servers and the
`Internet Work,” obtained at internet address http://www.
`howStuffworks.com/web-server.htm.
`Marshall Brain, How Stuff Works, "How Domain Name Servers
`Work,” obtained at internet address http://www.howstuffworks.
`com/dns.htm.
`Curt Franklin, How StuffWorks, “How Routers Work,” obtained at
`internet address http://www.howstuffworks.com/router.htm.
`Microsoft Corporation, Sep. 1998 “Introduction to TCP/IP.”
`obtained at internet address http://msdn.microsoft.com/library/
`backgrind.html/tcpipintro.htm.
`Robert Stone, “CenterTrack: An IP Overlay Network for Tracking
`DoS Floods.” Article Oct. 1, 1999, pp. 1-9.
`Chapter 1 TCP/IP Fundamentals, obtained at internet address http://
`webdocs. Sequent.com/docs/tcpoac01/ch 1.htm, pp. 1-28.
`Cheng Wu, “Web Switching: A New Generation of Networking.”
`pp. 1-3.
`ArrowPoint CommunicationsTM Article, “A Comparative Analysis
`of Web Switching Architectures,” pp. 1-11.
`ArrowPoint CommunicationsTM, Brochure, “The Top 12 Benefits of
`Content Intelligence.”
`L. Peter Deutsch, "DEFLATE Compressed Data Format Specifica
`tion.” May 1996.
`
`Antaeus Feldspar, Article, “An Explanation of the Deflate Algo
`rithm.” Sep. 11, 1997.
`ArrowPoint CommunicationsTM CDDCenter Vendor Listing,
`“ArrowPoint CS-50 Highlights' obtained at internet address http://
`www.cddcenter.com/arrowpoint.htm, May 21, 2000.
`Peter Christy, Analyst Commentary, “When to Distribute
`Content. The Peters' Principles,” obtained at internet address
`http://www.cddcenter.com/index.html. May 21, 2000.
`Content Delivery 101: An Introduction to Content Distribution &
`Delivery.
`CDDCenter, “How Do Caching and Content Delivery Really Dif
`fer?” obtained at internet address http://www.cddcenter.com/
`cachingvcontent.htm, pp. 1-4, May 21, 2000.
`Internet Research Group “Infrastructure Application Service Pro
`viders.” Feb. 2000, pp. 1-7.
`Peter Christy, Internet Research Group, "Content Delivery Archi
`tectures: Why Doesn't One Size Fit All?” pp. 1-12.
`Steven Vonder Haar, Inter(active Week, Feb. 14, 2000, "Content
`Delivery Shifts. To Edge of Net,” obtained at internet address
`http://www.zdnet.com/intweek/stories/news/0,4164.2436865,00.
`html, Dated May 22, 2000.
`David Willis, Network Computing, “The Content-Delivery Edge.”
`obtained at internet address http://www.networkcomputing.com/
`1103/1103 colwillis.html, Dated May 22, 2000.
`Phrack Magazine, “IP-spoofing Demystified (Trust-Relationship
`Exploitation) vol. Seven, Issue Forty-Eight, File 14 of 18. pp. 1-9,
`obtained at internet address http://www.fc.net/phrack/files/p48/p48
`14.html, Dated Jun. 5, 2000.
`Eddie Mission, “What is Eddie?', obtained at internet address
`http://www.eddieware.org/what.html. Dated Apr. 21, 2000.
`Cisco Enterprise Solutions, “Quality of Service,” obtained at
`internet address http://www.cisco.com/warp public/779/largeent/
`learn technologies/gos?.
`Cisco White Paper, “Delivering End-to-End Security in Policy
`Based Networks,” obtained at internet address, http://www.cisco.
`com/warp/public/cc/pd/nemnSW/cap/tech/deesp wp.htm.
`Technology Packeteer, obtained at internet address, http://www.
`packeteer.com/technology/index.cfm.
`Overview Cisco Content Networking, obtained at internet address
`http://www.cisco.com/warp/public/cc/sofnesofienes?.cxne?
`cc.nov ov.htm.
`Overview Cisco Secure Policy Manager 2.0, obtained at internet
`address
`http://www.cisco.com/warp/public/cc/pdfsqSW/sqppmn/
`prodlit? secmn ov.htm.
`Alteon Web Systems, White Paper "Optimizing ISP Networks and
`Services with DNS Redirection.” Aug. 1999.
`Alteon Web Systems, White Paper “Virtual Matrix Architecture
`Scaling Web Services for Performance and Capacity.” Apr. 2000.
`Alteon Web Systems, White Paper, Questions and Answers, pp. 1-3.
`3Com Technical Papers, Layer 3 Switching, May 1998.
`Web Cache Communication Protocol Version 2, pp. C-1 to C-54.
`RFC2267 Working Group- Denial of Service Counter Measures,
`Tele-conference Meeting May 25, 2000, Moderator, Henry Teng of
`eBay.
`Track-back Architecture General Requirements Version 0.1. Initial
`Draft submitted to Counter-DoS Solutions Working Group, Jul. 31.
`2000, Edited by Bob Geiger, Recourse Technologies.
`SwitchOn Networks, Inc., ClassiPITM At-a-Glance.
`C-PortTM A Motorola Company, C-5TM Digital Communications
`Processor, Product Brief, pp. 1-8, May 4, 2000.
`Peder Jungck, “Building a Faster Cache Server' A Theoretical
`Whitepaper, Silicon Valley Internet Capital, pp. 1-19.
`IXF1002 Dual Port Gigabit Ethernet MAC, Product Brief, Level
`OneTM an Intel Company.
`NetLogic Microsystems Product Overview.
`Agere, Inc. “The Challenge for Next Generation Network Proces
`sors”, Sep. 10, 1999.
`Phillips Semiconductors’ VMS747 Security Processor Overview.
`Cisco Systems, Cisco 12000 Series GSR, "Performing Internet
`Routing and Switching at Gigabit Speeds,” obtained at internet
`address, http://www.cisco.com/warp public/cc/pd/rt/ 12000?.
`
`Cloudflare - Exhibit 1086, page 2
`
`

`

`US 7,210,022 B2
`Page 3
`
`Cisco Systems, "Cisco 10000 Edge Service Router,” obtained at
`internet
`address,
`http://www.cisco.com/warp/public/cc/pd/rt/
`10000.
`Nortel NetworksTM “Passport 8600 Routing Switch,” obtained at
`internet address, http://www.nortelnetworks.com/products/01/pass
`port/8600/index.html.
`Lucent Technologies, “InterNetworking Systems,” obtained at
`internet address, http://www.lucent.com/inst products/grf.
`Lucent Technologies, “InterNetworking Systems,” obtained at
`internet address, http://www.lucent.com/ins/products/grfgrf1600.
`html.
`Juniper Networks, “M20 Internet Backbone Router.” Datasheet,
`obtained at internet address, http://www.juniper.net/products/
`dsheet? 100009.html.
`Juniper Networks, “M40 Internet Backgbone Router.” Datasheet,
`obtained at internet address, http://www.juniper.net/products/
`dsheet? 100001.html.
`Juniper Networks, Inc., “M160 Internet Backbone Router'
`Datasheet, obtained at internet address, http://www.juniper.net/
`products/dsheet/10012.
`Rajeev Kumar, Intel Confidential, “IXP1200 Overview”.
`Intel “IXP1200 Network Processor.” Datasheet, pp. 1-109 (out of
`146 pages), May 2000.
`Phillips Semiconductors—I2C-bus, News and Events, obtained at
`internet address, http://www.semiconductors.philips.comi2c?, Jul.
`28, 2001.
`Comnet Booth #4421 “VHBTechnologies Introduces Breakthrough
`Appliance for High-Bandwidth Networks at Comnet” News
`Release, Jan. 29, 2001, VHB Technologies, Inc., Richardson, Texas.
`VHB Technologies, Inc. presents “The VIPRETM NPU.”
`VHB Technologies News & Views, “Pioneering Gigabit-Speed
`Content-Intelligent Appliances'.
`VHB Technologies, A Security Technology Paper, Defending
`Against Denial-of-Service Attacks with the . . . VHB-2000 Network
`Security Appliance.
`Netlogic MicrosystemsTM Product Brief, obtained at internet
`address, http://www.netlogicmicro.com/html/datasheets/nse3128.
`html, pp. 1-2, May 11, 2001.
`
`Switch On Networks, Inc. “ClassiPI' Content Co-Processor, general
`content and features brochure, pp. 1-5.
`C-Port, “C-5TM Digital Communications Processor Product Brief,
`pp. 1-8, (C) 1999-2000 C-Port Corporation, May 4, 2000.
`NetLogic Microsystems.M. “Policy Co-ProcessorTM applications
`and features sheet, p. 1.
`NetLogic MicrosystemsTM “CIDR Co-ProcessorTM applications
`and features sheet, p. 1.
`NetLogic MicrosystemsTM “IPCAM(R) Ternary CAM” application
`and features sheets, pp. 1-2.
`NetLogic MicrosystemsTM “SynCAMR Binary CAM” application
`and features sheet, p. 1.
`NetLogic MicrosystemsTM “NCAM Binary CAM” application and
`features sheet, p. 1.
`NetLogic MicrosystemsTM product overview, pp. 1-2.
`Level OneTM an Intel Company “IXF1002 Dual Port Gigabit
`Ethernet MAC.” product brief, pp. 1-2, Copyright (C) 2000 Level
`One Communications, Inc.
`Agere, Inc., Agere White Paper, “Building Next Generation Net
`work Processors.” Sep. 10, 1999, pp. 1-8.
`Eric J. Rothfus, Agere, Inc., Agere White Paper, “The Case for A
`Classification Language.” Sep. 10, 1999, pp. 1-7.
`Web Cache Communication Protocol Version 2, Appendix C, Cisco
`Cache Engine User Guide, Version 2.0.0, pp. C1-C54.
`CloudShield Technologies, Inc., White Paper, “Security at Optical
`Speed,” pp. 1-10, Jan. 21, 2001.
`NetLogic MicrosystemsTM Product Brief “NSE3128 Network
`Search Engine,” obtained at internet address http://209.10.226.214/
`html/datasheets/nse3128.html pp. 1-2, May 11, 2001.
`Listing of Well Known Port Numbers assigned by the Internet
`Assigned Numbers Authority, obtained at the internet address,
`http://www.iana.org/assignments/port-numbers pp. 1-55. Aug. 5,
`2000.
`PM2329 PMC-Sierra, "ClassiPITM Network Classification Proces
`sor.” Overview and Features sheet pp. 1-2, 2001 Copyright PMC
`Sierra, Inc. Jan. 2001.
`* cited by examiner
`
`Cloudflare - Exhibit 1086, page 3
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 1 of 16
`
`US 7,210,022 B2
`
`F.G. 1
`
`
`
`
`
`
`
`
`
`
`
`Network
`
`O2A
`
`()
`
`Co
`Processor
`108
`
`Management Adapter
`
`11
`
`
`
`10
`
`Network
`
`O2B
`
`Cloudflare - Exhibit 1086, page 4
`
`

`

`U.S. Patent
`
`Apr.24, 2007
`
`Sheet 2 of 16
`
`US 7,210,022 B2
`
`JOSSIIOL
`
`
`
`ZIOSSO901gION
`
`GOcl
`
`a9]Da
`
`"1807
`
`1d¢————____—
`
`joru07a
`
`9€CWVUSSL
`o1so1WVUSSdavs130°]
`
`VPEC
`
`V8VrIZWrSz
`
`odor]
`
`Jone)vorzVoteVCIC
`
`
`
`U8ZI“W8TT
`
`
`
`]fossa001gJONa
`A/TONDd
`
`VOCIANyory ¥80¢
`oevel
`
`
`
`olae”vrsnd
`
`€/
`
`TOMS
`
`H90T
`
`aozl:©
`
`Orc
`
`801
`
`-075
`
`JOSSID0T
`
`Wvas
`
`oro;
`
`adsez
`
`a180T
`
`aoc
`
`801
`
`ace?
`
`asicWVuss
`
` aPorVPol
`
`Cloudflare - Exhibit 1086, page 5
`
`Cloudflare - Exhibit 1086, page 5
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 3 of 16
`
`US 7,210,022 B2
`
`-00
`
`JOSSQOOJA-OO
`
`JOSS33OJA
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`DZZI
`
`$ “?INH
`
`Cloudflare - Exhibit 1086, page 6
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 4 of 16
`
`US 7,210,022 B2
`
`FIG. 4
`
`
`
`
`
`
`
`
`
`
`
`216A
`
`EEPROM
`
`Daughter
`Card
`Header
`
`246
`
`220A -
`
`K
`
`32 bit IX us to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`3264 PC
`
`WSBuffers
`
`218B
`
`Compact PC1 + IX
`bus cross switch
`on back plane
`220B
`
`EEPROM
`16A
`32X bus
`
`A.
`
`246
`f
`daughter
`Card
`Header
`
`GD 16523
`CDR
`
`XF6048
`OC-48
`Framer
`
`Fite
`Mccule
`
`32164b PC
`
`LVDS Buffers
`
`64 bit IX
`bus to
`Utopia3
`
`/32b IX bus.
`# 64b IX bus
`
`126B, 126D
`
`Cloudflare - Exhibit 1086, page 7
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet S of 16
`
`US 7,210,022 B2
`
`– A-IISSVTO X Z.
`
`
`
`
`
`
`
`
`
`—
`
`---- / · > Swif
`
`! - - - - - -----)
`
`WVHSdGI X Z
`
`V 9 IZ
`
`- - - - - - - - -- as am - - a sm . .
`
`. as as as
`
`Cloudflare - Exhibit 1086, page 8
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 6 of 16
`
`US 7,210,022 B2
`
`9 "?INH
`
`CIMIVO E HELH9nw GI o L)
`
`# HET HOW < –
`
`XATOT-HOW –>
`
`9|,
`
`?4)-(osov-rivas
`
`Cloudflare - Exhibit 1086, page 9
`
`

`

`U.S. Patent
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 7 of 16
`
`US 7,210,022 B2
`US 7,210,022 B2
`
`
`
`
`
`ACET“VTZETy19
`
`LOW
`
`Chip
`
`#YAd0
`
`#YMW/4
`
`(LiPL)¥
`
`PL
`
`ce
`
`(ze:¢9)d
`
`
`
`AGPS6ISECAOALA]-e0lAsq
`
`
`
`VOdds-s07:ebexoed
`
`
`
`(9pZJoyDOUTIOZOT)
`
`WWVYSddNAA
`
`
`
`
`
`A9IZ“WOIZ
`
`
`
`~(LipNVYS
`
`#UaO~~(o)v"Wvas
`
`
`
`#19:—
`
`
`
`(o:ebuy.(OeIv.AvIT“VrIZ
`
`Ph
`
`
`
`WVYSddqddo
`
`
`#UMYHIMa#M/eWVYS
`MMTODATS|10SWVYS
`
`
`
`eeSL(O-PL)YWVWHYS
`
`ze(oLle)aW'S
`
`
`
`aziz‘Welz
`
` wDWI19-d_£_—_—_—_,
`
`
`
`CIT“V9IZ
`
`
`
`(o:reyua(o:-e)1G
`
`ze
`
`#UMWe#IM/d
`
`
`
`(oeLuV(mEeLIv
`
`(LivL)wWVuS
`
`vl
`
`#4591a(o)VWVYS
`
`
`
`Cloudflare - Exhibit 1086, page 10
`
`Cloudflare - Exhibit 1086, page 10
`
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 8 of 16
`
`US 7,210,022 B2
`
`FIG. 8
`
`EMB to daughter
`card connector
`
`216A
`2 x Dual post
`SSRAM
`
`Data
`bus 32
`7
`Address
`ous
`
`216B
`
`228A
`
`2 x Dual posrt
`SSRAM
`
`Data
`bus 32
`W
`Address
`bus
`
`al-k
`-
`:::::::::::::: * :
`CPLC v- ix. 1.236.
`. . . . . . . ...:::::::::::: s :
`
`Test Port
`
`IX-1 :
`
`l 06B
`
`daughter card components
`
`
`
`
`
`CA2
`
`Cloudflare - Exhibit 1086, page 11
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 9 of 16
`
`US 7,210,022 B2
`
`FIG. 9
`
`
`
`To
`PSRAM
`XP1200
`Address
`
`SRAM
`CPLD
`
`| Sir
`
`o
`PSRAM
`XP 200
`
`Address
`
`SRAM
`CPLD
`
`Test Port
`
`
`
`Cloudflare - Exhibit 1086, page 12
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 10 of 16
`
`US 7,210,022 B2
`
`FIG 10)
`
`210A2 10B
`
`{-32bit -)
`
`
`
`216A/216B - Nu
`
`Shared
`memory
`Section
`
`32K DPSRAM
`
`16Mb
`SRAM
`Device
`
`16Mb
`
`Device
`
`16Mb
`SRAM
`Device
`
`A.
`
`512K
`SRAM
`
`X
`
`X
`
`SRAM
`
`512K
`SRAM
`
`Cloudflare - Exhibit 1086, page 13
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 11 of 16
`
`US 7,210,022 B2
`
`
`
`
`
`S8S999EWY)S,Pealu}yOeg
`
`JEWIOLSIMPUBWIWOD
`
`WYSPBS!U}dXl#Z
`
`SploOMAAGss909e
`
`WYussda
`
`
`
`esedsAloawaw
`
`
`
`apoo-dowvo|
`
`
`
`clcl
`
`NYVDO}dK]Wool)ByepMau=O
`
`PHeABeepdX]OlWVD=1
`
`
`
`COCT
`
`
`
`>oN
`
`3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`YWJossao01gJON.
`
`ssoo0VNWO9JUISUD-O1DIAN
`
`OIZTaed
`
`
`
`YWJlossooolg10N
`
`
`
`sso00VJVOTSUISU9-O.1IJA
`
`
`
`OIZIaoedg
`
`
`
`VYJlossao0ig18N
`
`ssaooyWIVOZSUIsUd-O1TP]
`
`OIZLsaedg
`
`So
`fa
`
`
`vOCI
`
`a
`
`tH
`
`£ppyeseq
`
`éPpy9seq
`
`Lppyeseq
`
`QPpyaseg
`
`Cloudflare - Exhibit 1086, page 14
`
`ITOld
`
`Cloudflare - Exhibit 1086, page 14
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 12 of 16
`
`US 7,210,022 B2
`
`7FFF (H)
`
`Global
`Registers
`32K x 32
`
`
`
`Local
`Registers
`32K x 32
`
`not used
`
`
`
`0000 (H)
`
`
`
`
`
`
`
`Input Packet
`Buffer
`Ch O-3
`
`Result Memory
`Space 1
`
`Result Memory
`Space O
`
`CSR and
`EOP-D 1
`
`ERAM and
`Misc Registers
`
`3FFF (H)
`
`3800 (H)
`
`34 FF (H)
`
`3000 (H)
`
`25FF (H)
`
`2100 (H)
`
`209F (H)
`
`2080 (H)
`
`Local
`Register
`Pointer
`
`005F (H)
`
`0000 (H)
`
`XP Address
`
`Cloudflare - Exhibit 1086, page 15
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 13 of 16
`
`US 7,210,022 B2
`
`FIG. 13
`
`1400
`
`---
`.
`. .
`--
`Microengine 6
`
`s: .
`
`f
`|
`i
`i
`
`
`
`era
`
`O050 (H).
`Microengine 5
`0040 (H):
`
`
`
`4.
`
`32 bits (DW)
`
`Reg Data 1
`--- i.
`Reg Dada 0 °
`y
`
`Thread 4
`
`Reg Adr
`
`
`
`Reg Data 1
`Reg Data Oil
`
`*
`
`-v- ' '.
`
`-
`
`Thread 3
`
`Reg Data 1
`Reg Data 0.
`
`; : ,
`
`&
`
`:
`
`Reg Data 1
`Reg Data 0
`
`Flag
`
`Reg Adr
`
`Thread 2
`
`Thread 1
`
`O030 (H) - -
`Microengine 3
`3:.
`.
`.
`
`x :
`
`... .s: Y
`
`
`
`f
`f
`
`0020 (H):
`
`— XP Address
`
`Cloudflare - Exhibit 1086, page 16
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 14 of 16
`
`US 7,210,022 B2
`
`FIG. 14
`
`7FFF (H)
`
`
`
`Channel 32
`
`32 bits (DW)
`
`7000 (H)
`
`Channel 1
`Chan nel 0
`
`XP Address
`
`Cloudflare - Exhibit 1086, page 17
`
`

`

`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 15 of 16
`
`US 7,210,022 B2
`
`F.G. 1S
`
`236
`
`CLKr
`
`D(31:0
`
`A13:0
`Control
`
`(
`
`mem mapped
`CPLD
`decode signals
`C13:0
`
`D31:0
`
`A13:0
`+control
`
`-
`
`mem mapped
`CPLD
`decode sigTals {-
`C13:0
`
`
`
`
`
`RW
`SSRAM
`ADDRESS
`control
`
`
`
`CPLO
`add dec input
`
`RAW
`SSRAM
`ADDRESS
`cotto
`
`CPD
`add decliput
`
`Cock
`manegement
`
`Muxf
`buss management
`
`-
`-
`| Result
`-- FIFO)
`NFAR
`address
`FIFo Y
`
`-
`
`CAM
`H
`Data
`FFO
`
`100
`()
`
`SCK
`
`RBUS (31:0
`
`NFAR 23:0)
`
`CBUS71:0
`
`|- ind truction H ) bus(15:0)
`
`CAM
`
`FIFO
`
`FPGA
`registers
`
`Control
`
`(
`
`)
`Clock
`managemnet
`
`f0E3:0)
`Flags
`FRST
`
`Cloudflare - Exhibit 1086, page 18
`
`

`

`xy
`
`
`
`
`SARIS
`
`
`
`
`
`
`THWPS12SemJeBeuew
`
`
`
`eoeepurZdX!opelgatpawwos-|ZHWpeteSuiuunh
`
`
`LAX]SPelgBIDSWWoy|
`snkX14Ze|Jebeuew
`snkXbN92sayngsnqXI
`
`
`ankls—
`aynsnqXl
`
`ZHPgheBuuunsssepazul
`
`XIv90}GAe|s™X]AzE
`
`
`
`
`
`goRpiajulsngaaels”xX]
`
`U.S. Patent
`
`Apr. 24, 2007
`
`Sheet 16 of 16
`
`US 7,210,022 B2
`
`
`
`apse
`
`
`
`SSXe
`
`LIOW
`
`
`U8clV8cl
`
`
`
`JBLEOWIOLSP-DO0}
`a.eyalulorg‘en
`
`
`
`ZHWy8yeGuluunseoeja}ur
`
`ZHWreJeBuiuunseoepeyy|
`
`XL
`
`Jayng
`
`sngxlv0ro
`
`supjdyoeq0}
`
`IVICI
`
`
`
`eyep
`
`Jayng
`
`en
`
`[04]U0D
`
`aiaBeuew
`
`snqXl
`
`JaBeuew
`
`
`
`
`
`XL
`
`Jeping
`
`XL
`
`Jaying
`
`snqxl
`
`JaBeuew
`
`
`
`SsoeHousngXldazeolen
`
`OST
`
`91“OM
`V30~
`sngxX}vaee
`snqXINGZe
`LdXI0}
`c-dXtOF
`
`Cloudflare - Exhibit 1086, page 19
`
`Cloudflare - Exhibit 1086, page 19
`
`
`
`
`
`
`
`
`
`
`

`

`US 7,210,022 B2
`
`1.
`APPARATUS AND METHOD FOR
`INTERCONNECTING A PROCESSOR TO
`CO-PROCESSORS USING ASHARED
`MEMORY AS THE COMMUNICATION
`INTERFACE
`
`RELATED APPLICATIONS
`
`The following co-pending and commonly assigned U.S.
`patent applications have been filed on the same date as the
`present application. These applications relate to and further
`describe other aspects of the embodiments disclosed in the
`present application and are herein incorporated by reference:
`U.S. patent application Ser. No.09/858,309, “EDGE
`ADAPTER APPARATUS AND METHOD, filed herewith
`now U.S. Pat. No. 7,032,031 ;
`U.S. patent application Ser. No. 09/858.323, “EDGE
`ADAPTER ARCHITECTURE APPARATUS ANT)
`METHOD, filed herewith now U.S. Pat. No. 7,144,008:
`U.S. patent application Ser. No. 09/858.324, “APPARA
`TUS AND METHOD FOR INTERFACING WITH A HIGH
`SPEED BI-DIRECTIONAL NETWORK, filed herewith
`now U.S. Pat. No. 7,082,502.
`
`10
`
`15
`
`REFERENCE TO APPENDIX
`
`An appendix A is included at the end of this document
`containing exemplary processor to co-processor instruction
`formats according to one embodiment.
`
`COPYRIGHT NOTICE
`
`A portion of the disclosure of this patent document
`contains material which is subject to copyright protection.
`The copyright owner has no objection to the facsimile
`reproduction by anyone of the patent document or the patent
`disclosure, as it appears in the Patent and Trademark Office
`patent file or records, but otherwise reserves all copyright
`rights whatsoever.
`
`BACKGROUND
`
`25
`
`30
`
`35
`
`40
`
`2
`to the exponential growth in the user of traditional network
`applications, such as the world wide web and electronic
`mail. This growth is placing an incredible strain on the
`Internet infrastructure that causes network traffic to slow and
`hardware to overload. In particular, some of these new
`applications for the network are dependent upon the quality
`of service (“OoS) of the network and cannot tolerate
`arbitrary reductions in throughput. For example, traffic inter
`ruptions in a voice telephony application may result in
`garbled or delayed communications which may not be
`tolerable to the users of Such an application.
`A way to solve these resultant network traffic jams is to
`increase the speed of the network and increase its band
`width. Another solution is to retrofit the existing infrastruc
`ture to use new technologies. Such as optical fiber intercon
`nections, which Substantially increases network throughput
`and bandwidth.
`Unfortunately, a network, and in particular the Internet, is
`not simply a collection of interconnections. Other devices,
`Such as routers, Switches, hubs, and cache servers, form an
`integral part of the network infrastructure and play important
`roles in its performance. Upgrading the interconnections of
`the network without also upgrading the hardware which
`makes all of those interconnections function, will only serve
`to move the bottlenecks but not eliminate them. Further,
`hardware devices, which seek to enhance the network, Such
`as content delivery devices or security devices, must simi
`larly be upgraded so as not to degrade any overall enhance
`ments to the network infrastructure.
`While network technologies continue to advance, some of
`these technologies advance at a quicker pace than others.
`Where these technologies interface, it is often necessary to
`adapt the slower evolving technology to keep up with the
`faster evolving technology. In Such a case, advances in
`optical networking technologies are far exceeding advances
`in the technologies to enhance the communications being
`carried by the network.
`In particular, many network enhancement applications,
`Such as security applications or content delivery applica
`tions, require the interception and processing of data from
`the network in order to perform their function. By default
`then, these devices become a choke point through which all
`the data of the network must pass. Therefore, this intercep
`tion and processing device needs to operate at or beyond the
`wire speed, i.e. the operating throughput of the network, or
`the device becomes a bottle neck. In most cases, where the
`device cannot keep pace with the network, any benefits of
`the application will be outweighed by the degradation
`caused in network throughput. Unfortunately, optical net
`working technologies are increasing wire speeds beyond the
`current capabilities of packet processing technology.
`Accordingly, there is a need for a way to cost effectively
`adapt existing packet processing technologies so as not to
`degrade network performance.
`
`45
`
`50
`
`55
`
`Computer networks, in general, interconnect multiple
`computer systems for the purpose of sharing information
`and facilitating communications. Computer networks
`include private networks which interconnect computers
`within a particular enterprise, Such as an intranet, and public
`networks, which interconnect one or more of the computers
`of enterprises, public institutions and/or private individuals.
`One exemplary public network is the Internet. The Internet
`is a packet switched network which utilizes the Transport
`Control Protocol/Internet Protocol (“TCP/IP) suite to com
`municate data.
`Networking computers together generally increases effi
`ciency and reduces wasted resources. These advantages are
`spurring significant growth in the number of computers/user
`being connected by networks and the volume of data they
`are exchanging. This growth is, in turn, spurring advances in
`network technologies to handle the increased demand being
`placed on these network infrastructures.
`This is evident on the Internet where each day more and
`more users connect to the Internet adding to the millions of
`existing users already communicating and exchanging data
`via this public infrastructure. Further, new applications for
`the network, Such as streaming video, telephony services,
`real time interactive content, instant messaging, and peer to
`peer communications continue to be developed in addition
`
`SUMMARY
`
`The present invention is defined by the following claims,
`and nothing in this section should be taken as a limitation on
`those claims. By way of introduction, the preferred embodi
`ments described below relate to an interface for coupling a
`processor to a co-processor. The interface includes a
`memory coupled with the processor and the co-processor,
`the memory having at least two read/write interfaces for
`reading and writing data to the memory and control logic
`coupled with the at least two read/write interfaces. Wherein
`the processor writes data intended for the co-processor to the
`
`60
`
`65
`
`Cloudflare - Exhibit 1086, page 20
`
`

`

`US 7,210,022 B2
`
`3
`memory and reads data from the co-processor from the
`memory, the co-processor writes data intended for the pro
`cessor to the memory and reads data from the processor from
`the memory, the control logic operative to facilitate the
`reading of the written data by the processor and the co
`processor.
`The preferred embodiments further relate to a method of
`interfacing a processor with a co-processor. In one embodi
`ment, the method includes receiving first data from the
`processor on a first interface, storing the first data in a
`memory, signaling the co-processor that the first data has
`been received, receiving a read command on a second
`interface from the co-processor, providing the first data to
`the co-processor via the second interface, receiving second
`data from the co-processor on the second interface, storing
`the second data in the memory, signaling the processor that
`the second data has been received, receiving a read com
`mand on the first interface from the processor, and providing
`the second data to the processor via the first interface.
`Further aspects and advantages of the invention are dis
`cussed below in conjunction with the preferred embodi
`mentS.
`
`10
`
`15
`
`4
`FIG. 17 depicts a more detailed diagram of the packet bus
`interface of FIG. 1.
`
`DETAILED DESCRIPTION OF THE
`PRESENTLY PREFERRED EMBODIMENTS
`
`Meeting the universal demand for an Internet that is more
`robust, that is capable of Sustaining its own growth and that
`can adapt to new technologies, requires the migration of the
`current network infrastructure to next generation networking
`technologies. This next generation data network is often
`referred to as the “Optical Internet.”
`The shift to the Optical Internet has created a new set of
`challenges. Chief among these challenges is the need to
`manage an exponentially higher Volume of network traffic at
`much higher rates of speed. In the U.S., the principal
`standard for optical networks is the American National
`Standards Institute (ANSI) standard for synchronous data
`transmission over optical media known as Synchronous
`Optical Network (“SONET). The SONET standard actually
`comprises multiple standards for transmission rates up to
`9.953 gigabits per second (“Gbps') with the capability to go
`up to 20 Gbps. Each transmission rate standard is known as
`an Optical Carrier Level (“OC-X”). Exemplary optical car
`rier levels include OC-12 for communications at 622.08
`Mbps, OC-48 for communications at 2.488 Gbps and
`OC-192 for communications at 10Gbps. Today’s micropro
`cessors face a situation where they cannot support the pace
`of performance increases associated with the deployment of
`fiber-based network bandwidth of OC-48 and higher. Simply
`put, the move to fiber-optic networks has pushed the physi
`cal limits of microprocessors and the I/O bus beyond their
`current technical capabilities. The platform described herein
`is designed to address many issues associated with Optical
`Internet services that cannot be addressed by the current
`software based firewall servers.
`FIG. 1 shows an exemplary device 100 for intercepting
`and processing packets at wire speed from an optical based
`network 102, such as the Internet, compatible with the
`OC-48 standard or faster. For a more detailed explanation of
`the operation of devices which intercept and process pack
`ets, refer to U.S. Patent Application entitled “EDGE
`ADAPTERAPPARATUS AND METHOD and U.S. Patent
`Application Serial entitled “EDGEADAPTER ARCHITEC
`TURE APPARATUS AND METHOD, both of which are
`captioned above. The exemplary device 100 may include the
`Rapid Intelligent Processing Platform manufactured by
`Cloudshield Technologies, Inc., located in San Jose, Calif.
`For clarity, some components of the device 100 are not
`shown.
`The device 100 shown in FIG. 1 is coupled with the
`network 102 (consisting of an upstream network portion
`102A and a downstream network portion 102B) via a
`network connection 110 so as to be able to intercept and
`process packets communicated between the upstream net
`work portion 102A and the downstream network portion
`102B of the network 102. Herein, the phrase “coupled with
`is defined to mean directly connected to or indirectly con
`nected through one or more intermediate components. Such
`intermediate components may include both hardware and
`Software based components. In one embodiment, the net
`work connection 110 is an optical network connection. In an
`alternate embodiment, the network connection 110 is an
`electrical network connection.
`In one embodiment, not shown in the figure, the device
`100 is configured as a rac

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