throbber
111111111111111111111111111111111111111111111111111111111111111111111111111
`US007093005B2
`
`(12) United States Patent
`Patterson
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,093,005 B2
`*Aug. 15, 2006
`
`(54) GRAPHICAL EDITOR FOR DEFINING AND
`CREATING A COMPUTER SYSTEM
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0262750 A2
`
`4/1988
`
`(75)
`
`Inventor: Martin Patterson, Mountain View, CA
`(US)
`
`(73)
`
`Assignee: Terraspring, Inc., Fremont, CA (US)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.c. l54(b) by 835 days.
`
`This patent is subject to a terminal dis(cid:173)
`claimer.
`
`(21) Appl. No.: 09/863,945
`
`(22)
`
`Filed:
`
`May 22,2001
`
`(65)
`
`(63)
`
`(60)
`
`(51)
`
`(52)
`(58)
`
`(56)
`
`Prior Publication Data
`
`US 2002/0052941 Al
`
`May 2,2002
`
`Related U.S. Application Data
`
`Continuation-in-part of application No. 09/502,170,
`filed on Feb. 11,2000, now Pat. No. 6,779,016.
`
`Provisional application No. 60/212,925, filed on Jun.
`20, 2000, now abandoned.
`
`Int. Cl.
`(2006.01)
`G06F 15/177
`7091220; 709/221; 715/513
`U.S. Cl.
`Field of Classification Search
`709/201-3,
`709/220-224,249,250,223-6; 715/513
`See application file for complete search history.
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`4,591,967 A
`5,163,130 A
`5,504,670 A
`
`5/1986 Mattes et al.
`11/1992 Rullot
`4/1996 Barth et al.
`
`(Continued)
`
`OTHER PUBLICATIONS
`
`computer Dictionary, Third Edition,
`Microsoft Press
`Microsoft Press Publishing, 1997, p. 197.*
`
`(Continued)
`
`Primary Examiner-Krisna Lim
`(74) Attorney, Agent, or Firm-Hickman Palermo Truong &
`Becker, LLP; Edward A. Becker
`
`(57)
`
`ABSTRACT
`
`A method and apparatus for defining and deploying a
`networked computer system features creating and storing a
`graphical representation using a graphical editor to drag and
`drop icons representing computing elements and network
`elements into a workspace, such that a logical configuration
`of the networked computer system is represented by the
`graphical representation. A corresponding textual represen(cid:173)
`tation of the computer system is automatically created and
`stored according to a structured markup language. Based on
`the textual representation, one or more commands are gen(cid:173)
`erated for configuring an operable computer system that
`conforms to the logical configuration. The commands may
`be directed to one or more devices that are interconnected to
`one or more computing elements and storage devices, to
`instruct
`the devices to logically connect
`the computing
`elements and storage devices into the computer system. In
`one embodiment, a graphical representation of the logical
`configuration of the networked computer system is created,
`based on a user selection from a palette of one or more
`graphical icons that represent computing elements and net(cid:173)
`work elements of the computer system, and a user selection
`of graphical interconnections of the icons. As a result, a
`real-world virtual server farm or data center may be created
`and deployed.
`
`(Continued)
`
`41 Claims, 18 Drawing Sheets
`
`1QJ.
`CREA TE AND STORE GRAPHICAL
`REPRESENTATION OF LOGICAL
`CONFIGURA TION OF COMPUTER SYSTEM
`
`l.Q.Z
`CREA TE ANO STORE TEXTUAL
`REPRESENTATION OF LOGICAL
`CONFIGURA TION OF COMPUTER SYSTEM
`
`~
`GENERA TE COMMAND(S) FOR DEVICE(S)
`TO CREA TE PHYSICAL OPERABLE
`COMPUTER SYSTEM
`
`IOC
`COMPONENT
`DATABASE
`
`CUSTOMER
`INFORMA TION
`&: FML
`REPOSITORY
`
`CONTROL PLANE
`DATABASE
`
`Oracle Exhibit 1003, Page 1
`
`

`

`u.s. PATENT DOCUMENTS
`5,574,914 A
`11/1996 Hancock et al.
`5,590,284 A
`12/1996 Crosetto
`8/1997 George et al.
`5,659,786 A
`5/1998 Raab et al.
`5,751,967 A
`10/1998 Hansen
`5,819,042 A
`5,821,937 A *
`10/1998 Tonelli et al.
`11/1998 Blickenstaff et al.
`5,832,522 A
`9/1999 Yuuki et al.
`5,951,683 A
`10/1999 Beeler, Jr.
`5,974,563 A
`6/2000 Popelka et al.
`6,081,883 A
`6,182,139 Bl
`112001 Brendel
`6,212,559 Bl
`4/2001 Bixler et al.
`6,230,200 Bl
`5/2001 Forecast et al.
`6,260,109 Bl
`7/2001 Ofer et al.
`6,330,246 Bl
`12/2001 Denning et al.
`6,381,321 Bl
`4/2002 Brown et al.
`6,389,432 Bl
`5/2002 Pothapragada et al.
`6,393,466 Bl
`5/2002 Hickman et al.
`6,421,711 Bl
`7/2002 Blumenau et al.
`9/2002 Nolan et al.
`6,446,141 Bl
`6,466,559 Bl
`10/2002 Johansson et al.
`112003 Turner et al.
`6,505,229 Bl
`4/2003 Tamer et al.
`6,542,909 Bl
`6,597,956 Bl
`7/2003 Aziz et al.
`6,631,442 Bl
`10/2003 Blumenau
`10/2003 Nolan et al.
`6,640,278 Bl
`12/2003 Nguyen et al.
`6,658,526 Bl
`6,779,016 Bl
`8/2004 Aziz et al.
`2002/0052941 Al
`5/2002 Patterson
`
`US 7,093,005 B2
`Page 2
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`EP
`EP
`EP
`EP
`WO
`WO
`WO
`
`0490624 A2
`0750256 A2
`0791 881 Al
`o 905 621 Al
`0917056 A2
`0935200 Al
`WO 97/49214 Al
`WO 99/57957 A2
`WO 00/29954 Al
`
`6/1992
`12/1996
`8/1997
`3/1999
`5/1999
`8/1999
`12/1997
`11/1999
`5/2000
`
`715/853
`
`OTHER PUBLICATIONS
`
`Rob Short, et aI., "Windows NT Clusters for Availability and
`Scalability," 1997 IEEE, pp. 8-13.
`Eric Prud'hommeaux, "XML-based HTTP Server Configu(cid:173)
`ration
`Language,"
`http://www.w3.org/1999/07/9-http(cid:173)
`server-conf.html, Sep. 7, 1999, XP-002152599, pp. 1-5.
`Nathan J. Muller, "Design and Conquer," Oct. 1996, BYTE,
`vol. 21, No. 10, XP 000683573, pp. 93-98.
`Elliotte Rusty Harold, "XML: Extensible Markup Lan(cid:173)
`guage," 1998, pp. 1-431.
`Radek Vingralek, et aI., "Snowball: Scalable Storage on
`Networks of Workstations with Balanced Load," pp. 117(cid:173)
`156, Distributed and Parallel Databases, vol. 6, No.2, Apr.
`1998, XP-002162201.
`Armando Fox, et aI., "Cluster-Based Scalable Network
`Services," pp. 78-91, Operating Systems Review (SIGOPS),
`US, ACM Headquarter, New York, vol. 31, No.5, Dec. I,
`1997, XP-000771023.
`* cited by examiner
`
`Oracle Exhibit 1003, Page 2
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 1 of 18
`
`US 7,093,005 B2
`
`FIG. 1A
`
`101
`CREA TE AND STORE GRAPHICAL
`REPRESENTA TION OF LOGICAL
`CONFIGURA TION OF COMPUTER SYSTEM
`~
`102
`CREA TE AND STORE TEXTUAL
`REPRESENTA TION OF LOGICAL
`CONFIGURA TION OF COMPUTER SYSTEM
`~
`104
`GENERA TE COMMAND(S) FOR DEVICE(S)
`TO CREA TE PHYSICAL OPERABLE
`COMPUTER SYSTEM
`
`FIG. 18
`
`FIG. 1C
`
`110
`DESIGN
`~
`112
`IMPLEMENTA TION
`~
`114
`CUSTOMIZA TION
`~
`116
`DEPLOYMENT
`
`140
`RETRIEVE INFORMA TION IDENTIFYING
`ONE OR MORE DEVICES, FROM A
`PHYSICAL INVENTORY TABLE
`~
`142
`SELECT ALL RECORDS IN THE TABLE
`THA T IDENTIFY A PARTICULAR
`DEVICE TYPE THA T IS IDLE
`~
`144
`SELECT ONE OR MORE VLANS FOR USE
`IN THE DATA CENTER, AND MAP
`THE SELECTED VLANS TO LABELS
`i
`146
`SEND ONE OR MORE MESSAGES TO
`A HARDWARE ABSTRACTION LA YER THA T
`FORMS PART OF COMPUTING GRID
`
`Oracle Exhibit 1003, Page 3
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 2 of 18
`
`US 7,093,005 B2
`
`FIG. 1D
`
`CLIENT 120
`
`BROWSER
`122
`
`_1
`~124
`
`SERVICE PROVIDER 126
`
`GUI/EDlTER
`SERVER 128
`
`ADMINISTRA TION/
`MANAGEMENT
`SERVER 130
`
`COMPUTING GRID 132
`
`DATA
`CENTER 134
`
`-...
`
`-
`
`--
`
`~
`
`129
`
`--'
`
`"'-
`IDC
`COMPONENT
`DATABASE
`
`\
`
`".-
`~
`
`131
`
`-
`-
`
`-"
`
`......
`CUSTOMER
`INFORMA TION
`& FML
`REPOSITORY
`
`~
`
`~
`
`135
`
`....
`"'-
`CONTROL PLANE
`DATABASE
`
`Oracle Exhibit 1003, Page 4
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 3 of 18
`
`US 7,093,005 B2
`
`FIG. 1£
`
`CREA TE NEW
`DA TA CENTER
`
`SUBMIT
`FOR VALIDA TION
`
`ACCEPTED
`
`152
`PENDING 1 - - - - -1
`
`158
`PENDING
`INACTIVE
`
`FIG. 2A
`
`I
`ICOMPANY INFO Ii-J
`
`202
`
`200
`
`204
`
`I
`
`ICORPORA TE SITEIiJ'
`1
`T
`I MARKETING 1"-1
`I
`208
`CUSTOMER HOME l-J
`PAGE
`
`20
`6
`jl--i
`
`10
`
`I
`LOGIN
`I
`I
`2
`ADMIN l----J
`PAGE
`
`Oracle Exhibit 1003, Page 5
`
`

`

`e•
`
`7J).
`•
`
`~ ~~ ~=~
`
`FIG. 28
`
`I
`
`CUSTOMER HOME
`PAGE
`
`I
`
`II IDC MONITOR I
`
`220
`
`I
`II SERVICE DESKIIII IDC DESIGNERII
`r
`216"
`214 W VISUAL EDITOR r-
`224- .....
`..J
`_. _? CONFIGURA TION
`
`~ ~.
`
`~Ul
`
`...
`No
`
`\
`
`o0
`
`('D
`
`,j;o,.
`
`rFJ=(cid:173)
`('D.....
`o........
`
`QO
`
`dr
`
`Jl
`
`",......:I=\C
`
`"'w==tit=N
`
`II BACKUP Ir
`_~
`
`I-lMODIFY POLICY!1
`
`I-l
`I
`I LI
`
`RESTORE ~
`I
`LOGS
`
`240
`
`~228
`
`I
`
`I
`
`I
`
`_.....
`I
`
`r-222
`
`,..\
`
`APPLICA TIONS
`
`SERVERS
`
`NETWORK
`
`ADVANCED
`
`U
`I U
`
`I U
`
`J
`
`LOGIN
`
`n LOG FILE ACCESS I
`
`I
`
`'>-234
`
`U ATTENDED SCALING I
`
`I
`
`SERVICE
`
`ALER TS &: ALARM
`ACTION
`
`REPORTS
`
`MONITORS
`
`I
`
`~I
`
`..J
`
`DEVICE
`_V MANAGEMENT
`
`-~
`
`t-
`
`SERVER
`MANAGEMENT
`
`STORAGE
`--" MANAGEMENT
`
`236
`
`Oracle Exhibit 1003, Page 6
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 5 of 18
`
`US 7,093,005 B2
`
`FIG. 2C
`
`210
`
`"1
`IADMINISTRA TIONI
`
`252;
`
`J
`ACCOUNT
`MANAGEMENT
`
`I
`
`J
`FARM
`MANA~EMENT
`
`f
`254 J IDC APPROVALS
`256
`
`I
`PHYSICAL
`INVENTORY
`I
`
`I H
`
`STORAGE
`
`H
`
`~
`
`FIREWALLS
`
`CPU
`
`~LOAD BALANCIN
`
`~ SWITCHES
`
`L...j
`
`OTHER
`
`258
`
`~
`
`2580
`
`I
`
`258b
`
`258c
`
`258d
`
`258e
`
`258f
`
`FIG. 2D
`
`I
`284
`IDC STATUS
`
`282
`LOGIN
`
`286
`IDC TOP-LEVEL
`MONITOR SUMMARY
`
`I
`288
`COMPANY NEWS
`
`Oracle Exhibit 1003, Page 7
`
`

`

`e•
`
`7J).
`
`• ~ ~~ ~=~
`
`~ ~.
`
`~Ul
`
`...
`No
`
`\
`
`o0
`
`('D
`
`rFJ=(cid:173)
`('D.....
`0\
`o........
`
`QO
`
`FIG. 2E
`
`260 CUSTOMER CONTROL CENTER
`
`262 VIEW LA YER
`
`264 SCREEN
`TEMPLATE
`
`266 SCREEN
`COMPONENTS
`
`268 SCREEN
`DEFINITIONS
`
`I
`
`llQ MODEL LA YER
`
`12.Z.2. CON TROLLER LA YER
`
`274 REQUEST I
`
`PROCESSOR
`
`276
`COMMANDS
`
`I 278 SCREEN
`
`MANAGER
`
`280 SESSION
`MANAGER
`
`I
`I
`
`dr
`
`Jl
`
`",......:I=\C
`
`W-==tit=N
`
`290 PERSISTENCE LA YER
`
`Oracle Exhibit 1003, Page 8
`
`

`

`e•
`
`7J).
`•
`
`~ ~~ ~=~
`
`>=~....
`
`~Ul
`
`N00
`
`0\
`
`('D
`
`rFJ=(cid:173)
`('D.....
`......:J
`o........
`
`QO
`
`dr
`
`Jl
`
`",......:I=\C
`
`W-==tit=N
`
`30481
`
`fJ Terraspring Form Builder - Microsoft
`Internet Explorer
`I 302A 3028 302C
`302
`terraspring I
`~
`~
`- / . - - - /
`- l
`~r1i~~~=:s::~~~~2MOIn
`I> lOltor ~ MOnitor'
`-
`
`[> Change State
`
`300
`-
`
`310
`\
`
`.
`Fn Feb 2 15:20:44 PST 2001
`- Support
`Account
`Logout
`Infrastructure Editor
`
`~68
`i8I FIG. 3A
`I
`
`3308
`
`(§me~J20B ~
`(
`
`312
`
`3228
`
`502
`
`Elements
`
`~ ~
`
`306
`
`C~~~~!
`
`ffi)
`J0811 e ~ I
`
`I
`
`Infrastructure Details
`Name:farm1
`State: Active Status: Gray
`Form Type: Development
`Data Center:
`Pseudo Data Center:
`200
`212
`
`500
`
`Notes:
`
`I
`
`~
`
`ti
`~ Set Backup SChedul~
`
`I
`
`326C
`
`324D
`
`J24E ~J14
`
`3288
`
`Oracle Exhibit 1003, Page 9
`
`

`

`u.s. Patent
`
`Aug. 15,2006
`
`Sheet 8 of 18
`
`US 7,093,005 B2
`
`FIG. 38
`
`306
`
`Elements
`
`326~ ~
`ffiJ
`~
`
`328
`
`330
`
`320
`
`322
`
`324
`
`e
`
`Oracle Exhibit 1003, Page 10
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 9 of 18
`
`US 7,093,005 B2
`
`332A
`
`326A
`
`3328
`
`~S~b?e€E
`
`FIG. 3C
`
`331
`
`336
`
`324
`322~ (332C
`Firewam
`-338
`340
`328~
`m BGJancerU'- 332D
`342
`II
`
`fi)332£
`324A ~served
`
`346
`
`332£
`
`3248
`
`344
`348
`
`332F
`
`330~ ~BackhaJii1
`
`350
`
`Oracle Exhibit 1003, Page 11
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 10 of 18
`
`US 7,093,005 B2
`
`FIG. 4A
`
`[j Configure Server - Web Page Dialog
`
`e )
`I
`Name~ Serverl y
`
`402 ;4
`
`400'"
`
`[1]8
`
`Configure: Server
`410
`
`408
`~ Local Storage
`
`Type II Sun 420R 2CPU 2GB RAMII 'V II
`
`Disk
`
`Backup Size(GB)
`
`Image ~
`
`Notes
`
`0
`
`l:2I
`
`l:2l
`
`~
`
`k=v
`
`8
`
`l
`I Solaris G
`B
`8 ~ ~ None
`
`406)
`
`Name
`Serverl
`
`II Add Disk II
`412 ) 4)8
`II
`
`I'
`
`Server Group
`
`Server Count: 111
`ethO:
`IP Address
`Not Assigned
`
`II Delete Disk"
`
`416\ \..414
`
`ethl:
`
`IP Address
`
`Not Con figured V 420
`
`[£E] ~ Cancel ~ [ ] ; ]
`https: / /openview2.xcftech.com/ccc/protected/ali/ConfigNode/html/cfServer.jspIQ Internet
`
`Oracle Exhibit 1003, Page 12
`
`

`

`e•
`
`7J).
`•
`
`~ ~~ ~=~
`
`~ ~.
`
`~Ul
`
`...
`No
`
`\
`
`o0
`
`('D
`
`rFJ=(cid:173)
`('D.............
`o........
`
`QO
`
`dr
`
`Jl
`
`",......:I=\C
`
`"'w==tit=N
`
`422
`
`FIG. 48
`m[B]
`~ )I-=:~~~::=~~=;;==~~~
`[J Configure Firewall - Web Page Dialog
`Nome~ Firewollt ~ 424
`TypeICisco PIX 515B--- 426
`
`1 to 1 NAT Mapping for the Outside Interface:
`Interface
`DNS Entry
`Serverl-ethO
`Server1-Firewolll
`
`430
`
`Configure: Firewall
`
`IP Address
`Setup Upon
`Activation
`
`I
`
`Notesl
`
`428
`
`~
`
`~
`
`432
`
`(
`
`Interface: 0 Outside 0 Inside 0 DMZ
`Access
`Service
`~IDenYI
`
`~ all
`
`E]
`438
`
`I custom a
`
`,~
`
`436
`
`ProtocolI[[] 9
`
`Port
`
`434
`
`424A
`
`4248
`
`DNS Entry. Firewalll-ethO
`
`IP Address: Not Assigned
`
`From
`
`e By Nome
`~ OIP Be Mask
`441
`
`)
`0 By Name
`~ 0IP Be Mask
`
`IOutside Ell
`
`Mask
`
`~
`
`Inside
`
`G
`
`v
`
`To
`
`If.PIBI (;) By Name
`Il:::::lI9 0 IP Be Mask
`445
`\m 0By Name
`o IP k Mask
`!
`444
`
`439A
`
`4398
`
`440
`
`442
`
`448 ~lLQ!9I ~ Cancel ~ ~
`
`https: / /openview2.xettech.com/ccc/proteded/cII/ConfigNode/html/cfFirewall.jsp
`
`o Internet
`
`Oracle Exhibit 1003, Page 13
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 12 of 18
`
`US 7,093,005 B2
`
`FIG. 4C
`
`{j Configure Load Balancer - Web Page Dialog
`
`450
`
`~ )
`Configure: Load Balancer
`l!I>....--~ , - - - - - - - - - - - - - -= - - - - - - - - ,
`
`Load Balancing Group
`Port Number
`
`Name
`
`462
`
`1;21 Serverl- ethO
`o Balancer2-ethO
`
`~lance~viPO
`
`458
`
`464
`
`466
`
`~80
`~
`
`~G
`~~
`
`~
`
`468
`
`470
`
`https: / /c1orify/ccc/drypen/ConfigNode/HtmI/LoodBol ~ Local Internet
`
`[§g] ~ Cancel~ [E;J
`
`Oracle Exhibit 1003, Page 14
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 13 of 18
`
`US 7,093,005 B2
`
`FIG. 40
`[J Configure Subnet - Web Page Dialog
`oX :::>io r--
`
`4"":'"7,=:'8~-c-o-n-fi..:..gU-r-e:-S-ub-n-e..,t
`
`474
`
`Nomel SUbnet21j
`Notes,----------.:::::a
`~
`
`472
`
`480
`482
`
`,J
`Subnet Properties
`Subnet IP Set upon activation
`Mask Set upon activation
`
`484
`
`Access to
`~ Network
`Attached
`Storage
`486------N.A.S. IP Set upon activation
`
`0 Yes @ No
`
`https://ciarify/ccc/drypen/ConfigNode/HtmI/Subnet. ~Local Internet
`
`FIG. 4E
`(j Configure Internet - Web Page Dialog
`
`& )
`I
`Name~ Internet1J
`
`Notes
`
`489
`
`490
`
`~
`
`~
`
`mm
`
`Configure:
`
`Internet
`
`488
`
`Internet Properties
`
`IP Address Maximum: ~ Up to 256 B
`~
`492
`
`~ ~ Cancel ~ [];]
`
`https://clarify!ccc/drypen/ConfigNode/Html/cfInternetJ ~ Local Internet
`
`Oracle Exhibit 1003, Page 15
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 14 of 18
`
`US 7,093,005 B2
`
`FIG. 4F
`
`[j Configure Backhaul - Web Page Dialog
`
`~ )
`Nome~ Backhaul1J
`
`I 4
`
`95
`
`Notes
`
`496
`
`~
`
`I;=;
`v
`
`m~
`
`Configure: Backhaul
`
`494
`
`Backhaul Properties
`
`IP Address: Set upon activation
`
`498)
`
`[£E]
`
`~ CancelI ~
`
`https://ciarify/ccc/drypen/ConfigNode/Html/cfBcckhoJ ~ Local Internet
`
`FIG. 5
`
`(A)
`Normal
`
`(8)
`Mouse Over
`
`508
`
`--~507
`
`502
`
`504
`
`506
`
`Oracle Exhibit 1003, Page 16
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 15 of 18
`
`US 7,093,005 B2
`
`FIG. 6A
`
`J24F
`
`604
`
`606
`
`FIG. 68
`
`U Create Disk Image - Microsoft Internet Explorer
`
`Snapshot: Image
`
`Name:
`
`Description:
`
`612
`
`I ~r-- 614
`
`:D ~ 616
`~
`Hardware Compatability: 0 Current Architecture ~ Any Architecture
`~ server2-0B--- 618
`
`Server:
`
`Disk:
`
`620
`
`622
`
`/
`~ [Cancel ~
`
`Oracle Exhibit 1003, Page 17
`
`

`

`u.s. Patent
`
`Aug. 15, 2006
`
`Sheet 16 of 18
`
`US 7,093,005 B2
`
`FIG. 7
`
`EDGE
`
`1
`
`*
`J-
`
`FARM
`
`1
`
`*
`
`MONITOR
`
`1
`
`*
`
`CONNECTS
`
`*l
`11
`~{ABSTRACn 1 *
`NODE
`1 1
`~
`
`ICON
`
`PORT
`
`INTERFACE
`
`I BALANCES
`
`I
`
`NETWORK
`
`FIREWALL
`
`1
`
`""'---
`
`LOAD
`BALANCER
`
`SERVER
`
`1~~l
`C) ~ ~
`a5
`'!
`C:l
`*1 *~ *
`SERVICE
`
`-oJ
`
`-oJ
`
`C:l
`
`1
`
`*
`
`1
`
`*
`
`WHO
`
`DISK
`
`INTERNET
`
`SUBNET
`
`Oracle Exhibit 1003, Page 18
`
`

`

`e•
`
`7J).
`•
`
`~ ~~ ~=~
`
`,
`
`818
`(
`
`f 819
`JA VA XML
`GENERA TOR
`
`FIG. 8A
`804
`802
`r-----::L--------------------------------.--------------------~
`i 812
`!
`808 JAVASCRIPT .-r809
`,814 816,
`810'
`GENERA TE l
`'I
`\ JA VA XML
`:
`XML
`:
`FEML
`FEML
`\
`GENERA TOR
`: SERVLET
`PARSER RnR'
`TO FML
`: R()fi
`
`01 rJ
`
`III
`
`I
`
`~ ~.
`
`~Ul
`
`...
`No
`
`\
`
`o0
`
`.---~_--.
`
`JA VASCRIPT
`OBJECT
`MODEL
`
`FEML
`DOM
`
`CLIENT
`
`FEML
`
`FEML
`
`FEML
`DOM
`
`FML
`DOM
`
`FML
`
`SERVER
`
`----------------------------------------~--------------------------------------------------------
`
`('D
`
`......:J
`
`rFJ=(cid:173)
`('D.........
`o........
`
`QO
`
`dr
`
`Jl
`
`",......:I=\C
`
`W-==tit=N
`
`FIG. 88
`804
`802
`------~---------------------------------,
`r-----::L--------------------------------.--
`!812
`!
`f 814
`,819 822,
`818
`826"
`810'
`808 JAVASCRIPT .-r824
`\ JA VA XML
`'I
`GENERA TE
`FML
`(
`JA VA XML
`:
`XML
`:
`!SE~VLET
`!
`GENE~A TOR 808'
`TO FEML
`PARSER
`FARM
`PARSER
`
`I
`I
`I
`:
`
`FEML
`
`FEML
`
`FEML
`DOM
`
`FML
`DOM
`
`FML
`
`FEML
`DOM
`
`a~T
`
`I
`I
`I
`JA VASCRIPT
`:
`:
`OBJECT
`MODEL
`:
`I ' - - - - - - - - '
`
`I!
`
`~----------------------------------------~--------------------------------------------------------
`
`i
`
`~~
`
`Oracle Exhibit 1003, Page 19
`
`

`

`e•
`
`7J).
`•
`
`~ ~~ ~=~
`
`~ ~.
`
`~Ul
`
`...
`No
`
`\
`
`o0
`
`SERVER
`
`930
`
`928
`
`('D
`
`QO
`
`rFJ=(cid:173)
`('D.........
`o........
`
`QO
`
`dr
`
`Jl
`
`",......:I=\C
`
`"'w==tit=N
`
`HOST
`
`924
`
`PROCESSOR
`
`904
`
`i
`
`COMMUNICA TION
`INTERFACE
`
`918
`
`NETWORK
`LINK (
`
`~~~ _
`
`920
`
`r---------------------------------------------------
`STORAGE
`MAIN
`ROM
`DEVICE
`MEMORY
`910
`906
`
`908
`
`IIIIIIIIIIIIIIIIIIIIII
`
`BUS
`
`902
`
`FIG. 9
`
`DISPLAY
`912
`
`INPUT
`DEVICE
`914
`
`CURSOR
`CONTROL
`916
`
`Oracle Exhibit 1003, Page 20
`
`

`

`US 7,093,005 B2
`
`1
`GRAPHICAL EDITOR FOR DEFINING AND
`CREATING A COMPUTER SYSTEM
`
`RELATED APPLICATIONS; PRIORITY CLAIMS
`
`This application is a continuation-in-part of, and domestic
`priority is claimed under 35 U.S.c. 120 from, application
`Ser. No. 09/502,170, filed Feb. 11, 2000, now issued as U.S.
`Pat. No. 6,779,016 on Aug. 17,2004, entitled "Extensible
`Computing System," naming Ashar Aziz, et a!., as inventors,
`the entire contents of which is hereby incorporated by
`reference as if fully set forth herein. Domestic priority is
`claimed under 35 U.S.c. 119 from prior Provisional appli(cid:173)
`cation Ser. No. 60/212,925, filed Jun. 20, 2000, which is now
`abandoned, entitled "Symbolic Definition of a Virtual Com(cid:173)
`puter System," and naming as inventors Ashar Aziz, et a!.,
`the entire contents of which is hereby incorporated by
`reference as if fully set forth herein.
`
`FIELD OF THE INVENTION
`
`The present invention generally relates to data processing
`in the field of visual programming and data networking. The
`invention relates more specifically to a method and appara(cid:173)
`tus for graphically defining and creating a computer system.
`
`BACKGROUND OF THE INVENTION
`
`2
`computer program elements are selected from a palette and
`moved into a graphical representation of the logical flow of
`the program.
`Microsoft Visio is a well-known tool for creating graphi(cid:173)
`cal presentations useful in business and industry. An end
`user may create a Visio presentation by dragging and drop(cid:173)
`ping symbols into a workspace. Complex pictures and
`diagrams can be created. Templates or "stencils" may be
`created and distributed, enabling others to create new pic-
`10 tures and diagrams that have the same appearance param(cid:173)
`eters as the stencil
`that
`is used as a basis for the new
`diagrams.
`Based on the foregoing, there is a clear need in this field
`for a way to visually create a logical description of a virtual
`15 server farm and instantiate a corresponding tangible, oper(cid:173)
`able computing system relatively instantly, or other com(cid:173)
`puter system configurations that are created based on the
`extensible computing framework described in Aziz, et a!.
`There is a specific need for a way to create such a
`20 description using graphic icons and other symbols that
`represent elements of a real server farm or other computer
`system.
`End users also would find it useful to have a way to
`negotiate fees and costs for a particular virtual server farm
`25 with the service provider that is providing the hardware to
`implement the server farm. Thus there is also a need for a
`way to use the visual representation, or a resulting logical
`description of a computer system, to prepare a quote for fees
`and costs involved in creating, configuring and activating a
`30 real computer system that embodies the visual representa(cid:173)
`tion. There is a related need for a way to prepare such quotes
`on a rapid basis for use in counection with short-lived server
`farms and similar computer facilities.
`There is also a need for a way to determine whether a
`particular institution, which is requested to implement the
`visual representation, has sufficient resources to create,
`configure and activate a real computer system that embodies
`the visual representation.
`There is a further need for a way to integrate an editor for
`creating such a visual representation with other related
`functions pertaining to creating instant data centers, includ(cid:173)
`ing customer account management, customer support, etc.
`There is also a need for a way to cause instant creation of
`45 a physical server farm based on creating a graphical repre(cid:173)
`sentation of the server farm. There is a need to provide such
`a tool in a way that is integrated with pre-existing graphic
`design tools that are compatible or based upon HTML or
`other personal computer software or systems.
`
`35
`
`Data processing users desire to have a flexible, extensible
`way to rapidly create and deploy complex computer systems
`and data centers that include a plurality of servers, one or
`more load balancers, firewalls, and other network elements.
`One method for creating such a system is described in
`co-pending U.S. patent application Ser. No. 09/502,170,
`filed Feb. 11,2000, now issued as U.S. Pat. No. 6,779,016
`on Aug. 17,2004, entitled "Extensible Computing System,"
`naming Ashar Aziz, et a!., as inventors, the entire disclosure
`of which is hereby incorporated by reference as if fully set
`forth herein. Aziz, et a!., disclose a method and apparatus for
`selecting, from within a large, extensible computing frame- 40
`work, elements for configuring a particular computer sys(cid:173)
`tem. Accordingly, upon demand, a virtual server farm or
`other data center may be created, configured and brought
`on-line to carry out useful work, all over a global computer
`network, virtually instantaneously.
`Although the methods and systems disclosed in Aziz, et
`a!., are powerful and flexible, users and administrators of the
`extensible computing framework, and the virtual server
`farms that are created using it, would benefit from improved
`methods for defining and deploying virtual server farms. For 50
`example, an improvement upon Aziz, et a!., would be a way
`to specifY, price, order and deploy virtual server farms using
`a networked computer workstation and a standard browser.
`Using one known online service, "Rackspace.com," a
`user may select a server platform, configure it with a desired 55
`combination of disk storage, tape backup, and certain soft(cid:173)
`ware options, and then purchase use of the configured server
`on a monthly basis. However, this service is useful only for
`configuring a single server computer. Further,
`the user
`interface is rudimentary and relies only on pull-down lists 60
`and other elements defined in Hypertext Markup Language
`(HTML).
`Visual programming is a known method for rapidly
`defining a computer program by linking together graphical
`icons that represent program elements. For example, U.S. 65
`Pat. No. 5,163,130 (Jean-Marie Hullot, NeXT Computer,
`Inc., 1992) discloses a visual programming method in which
`
`SUMMARY OF THE INVENTION
`
`The foregoing needs, and other needs that will become
`apparent from the following description, are achieved by the
`present invention, which comprises, in one aspect, a method
`of defining and deploying a networked computer system. A
`textual representation of a logical configuration of the net(cid:173)
`worked computer system is created and stored, according to
`a structured markup language. Based on the textual repre(cid:173)
`sentation, one or more commands are generated for one or
`more switch devices that are interconnected to one or more
`computing elements and storage devices. The commands
`instruct the switch devices to logically connect the comput(cid:173)
`ing elements and storage devices into an operable physical
`computer system that conforms to the logical configuration.
`As a result, a textual language may be used to specifY one
`or more instant data centers or virtual server farms, and
`
`Oracle Exhibit 1003, Page 21
`
`

`

`US 7,093,005 B2
`
`3
`physical elements to implement the data centers or virtual
`server fanns are then configured and activated as specified
`in the commands.
`According to one embodiment, the method also includes
`receiving a graphical representation of a logical configura(cid:173)
`tion of the networked computer system. The graphical
`representation is created and stored based on a first user
`selection from a palette of one or more graphical icons that
`logical elements and physical elements of the
`represent
`networked computer system and a second user selection of
`graphical interconnections of the icons. One feature of this
`aspect involves creating and storing a textual representation
`comprises the step of creating and storing the textual rep(cid:173)
`resentation of the logical configuration of the networked
`computer system according to a structured markup language
`that is automatically generated based on the graphical rep(cid:173)
`resentation.
`In another feature, the textual representation comprises at
`least one server role definition comprising at least a role
`name value and a hardware type value, and one or more 20
`definitions of servers of the networked computer system,
`wherein each definition of a server uses and references the
`server role definition. Another feature is that the textual
`representation comprises at least one server role definition
`comprising at least a role name value and a hardware type
`value, and a plurality of definitions of servers in a server tier
`or server group of the networked computer system, wherein
`each definition of a server uses and references the server role
`definition.
`According to another feature, the textual representation
`comprises at least one definition of a load balancing func(cid:173)
`tion; at least one server tier definition that defines a plurality
`of servers that receive inbound traffic from the load balanc(cid:173)
`ing function; and at least one fixed server definition that
`defines a fixed server that is associated with one of the
`the
`servers in the server tier. A related feature is that
`definition of the load balancing function comprises an
`indication that inbound traffic directed to the load balancing
`function arrives from an outer virtual local area network.
`In another feature, the textual representation comprises at
`least one server tier definition that defines a plurality of
`servers that receive inbound traffic from a load balancing
`function; and at least one definition of the load balancing
`function, comprising an output port value, an input port
`value, a virtual address value, a load balancing policy value,
`and a tier value that identifies the server tier that is managed
`using the load balancing function. A related feature involves
`creating and storing at least one server tier definition that
`defines a plurality of servers that receive inbound traffic
`from the load balancing function. Each server tier definition
`comprises one or more input port values, a role value, and
`information specifYing a maximum number of physical
`servers and a minimum number of physical servers for use
`in a server tier represented by the server tier definition.
`In another feature, the textual representation comprises at
`least one fixed server definition that defines a statically
`addressed server of the networked computer system; and
`wherein each server definition comprises one or more input
`port values that identify a virtual local area network, a role
`value that identifies a processing role carried out by the
`server, and infonnation specifying a network address of the
`server.
`the method also
`feature,
`According to still another
`includes associating a first server definition of the textual
`representation with a graphical icon. The first server defi(cid:173)
`nition comprises at least one external entity declaration that
`represents a network address of a server that is represented
`
`4
`by the first server definition. In the textual representation, a
`copied server definition is created and stored, based on
`duplicating the first server definition that is associated with
`the graphical icon. Each external entity declaration of the
`server definition of the textual representation and the copied
`server definition of the textual representation is resolved into
`a different actual network address. Based on the textual
`representation, one or more commands are generated for one
`or more switch devices that are interconnected to one or
`10 more computing elements and storage devices. The com(cid:173)
`mands instruct the switch devices to logically connect the
`computing elements and storage devices into an operable
`computer system that confonns to the logical configuration.
`In another feature, the textual representation comprises
`15 one or more firewall definitions that comprise a firewall
`name value, a plurality of port values that define logical
`connections to a firewall device associated with the firewall
`definition, and one or more definitions of services that the
`firewall is allowed to pennit or deny.
`In still another feature, the textual representation com-
`prises at least one server role definition comprising at least
`a role name value and a hardware type value; a disk attribute
`definition that defines additional local disk storage for the
`server defined in the server role definition, comprising a
`25 drive name value and a drive size value; and one or more
`definitions of servers of the networked computer system.
`Each definition of a server uses and references the server
`role definition. A related feature involves generating one or
`more commands that allocate disk space according to the
`30 drive size value in a storage device that is accessible using
`a storage area network interface. The allocated disk space is
`mapped to a server of the networked computer system that
`implements one of the definitions of servers. The allocated
`disk space may be presented as a single logical volume, or
`35 as one or more logical disks that are created from logical
`volumes that are located on one or more physical disk
`drives.
`In still another feature, the textual representation com(cid:173)
`prises an action definition that defines actions for execution
`40 for each server in a tier of one or more servers when an
`additional server is added to the tier. The action definition
`may comprise a tier name value that identifies the tier, and
`a script name value that identifies a script of actions for
`execution with respect to each server in the tier identified by
`45 the name value. The method also may involve receiving
`information indicating that a new server has been added to
`the tier; executing the script of actions with respect to each
`server in the tier.
`the textual representation com-
`In yet another feature,
`50 prises an action definition that defines actions for execution
`for each server in a tier of one or more servers when one of
`the servers is removed from the tier. The action definition
`may comprise a tier name value that identifies the tier, and
`a script name value that identifies a script of actions for
`55 execution with respect to each server in the tier identified by
`the name value. Action definitions generally comprise defi(cid:173)
`nitions corresponding to those actions that would be carried
`out in adding a server to a server fann manually. A related
`feature may involve receiving infonnation indicating that
`60 one of the servers has been deleted from the tier and
`executing the script of actions with respect to each server in
`the tier.
`the invention provides a method of
`In another aspect,
`defining and deploying a networked computer system that
`65 features a graphical user interface. In the GUI, a palette of
`one or more graphical icons that represent logical elements
`ofthe networked computer system is displayed. One or more
`
`Oracle Exhibit 1003, Page 22
`
`

`

`US 7,093,005 B2
`
`5
`of the graphical icons are selected. The selected icons are
`graphically interconnected. A graphical representation of a
`logical configuration of the networked computer system is
`created and stored based on the selection and interconnec(cid:173)
`tion. A textual representation of a logical configuration ofthe
`networked computer system is created and stored according
`to a structured markup language. Based on the textual
`representation, one or more commands are generated for one
`or more switch devices that are interconnected to one or
`more computing elements and storage devices. The com- 10
`mands instruct the switch devices to logically connect the
`computing elements and storage devices into an operable
`computer system that conforms to the logical configuration.
`According to another feature, a user may select graphical 15
`icons representing power control features and add them to
`existing icons or other elements of the graphical represen(cid:173)
`tation.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`6
`FIG. 4C is a diagram of a load balancer configuration
`dialog that may be used to create or modify one or more
`parameter values pertaining to a load balancer;
`FIG. 4D is a diagram of a subnet configuration dialog that
`may be used to create or modify one or more parameter
`values pertaining to a subnet;
`FIG. 4E is a diagram of an Internet configuration dialog
`that may be used to create or modify one or more parameter
`values pertaining to an Internet connection;
`FIG. 4F is a diagram of a backhaul configuration dialog
`that may be used to create or modify one or more parameter
`values pertaining to a backhaul connection;
`FIG. 5 is a two-part diagram of a Lifecycle Icon according
`to one embodiment;
`FIG. 6A is a diagram of an example of a context menu that
`is displayed in association with a server to which the context
`menu relates;
`FIG. 6B is a diagram of an example 'Snapshot: Image'
`window that opens in response to the selection from the
`20 context menu of FIG. 6A;
`FIG. 7 is a block diagram of an example object model that
`may be used in an embodiment;
`FIG. 8 is a two-part block diagram that illustrates pro(cid:173)
`cesses of gene

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