throbber
fA- \ PlZov
`
`PROVISIONAL APPLICATION COVER SHEET
`This is a request for filing a PROVISIONAL APPLICATION under 37 CFR 1.53(b)(2).
`
`Docket Number
`
`55218-0500
`
`Type a plus sign
`(+) inside this box
`
`~
`
`.
`...,
`o-f
`0
`
`"'~=!I~
`
`--,.--
`
`+ ~
`u
`
`~
`
`LAST NAME
`
`FIRST NAME
`
`INVENTOR(s)/APPLICANT(s)
`MIDDLE INITIAL
`RESIDENCE (City and Either State or Foreign Country)
`
`Aziz
`Patterson
`Markson
`
`Ashar
`Martin
`Thomas
`
`Fremont, California
`Mountain View, Califonria
`San Mateo, California
`
`TITLE OF THE INVENTION (280 characters max)
`SYMBOLIC DEFINITION OF A VIRTUAL COMPUTER SYSTEM
`CORRESPONDENCE ADDRESS
`Hickman Palenno Truong & Becker LLP
`1600 Willow Street
`~San Jose, CA 95125
`l1408) 414-1080
`
`.:.::: ~
`:~
`
`o~l2J
`,[]
`
`~h~
`
`~.~
`~[]
`
`~'"
`
`~
`
`Specification
`Drawings
`
`ENCLOSED APPLICATION PARTS (check all that apply)
`[2J
`Small Entity Statement
`Number ofpages [124]
`D
`Other (specify):
`Number ofsheets]
`METHOD OF PAYMENT (check one)
`A check or money order is enclosed to cover the Provisional filing fees
`The Commissioner is hereby authorized to charge filing fees and credit Deposit
`Account Number: 50-1302
`
`PROVISIONAL
`FILING FEE
`AMOUNT ($)
`
`$75.00
`
`The invention was made by an agency of the United States Government or under a contract with an agency of
`t'Ire United States Government.
`~dmJ
`[J
`Yes, the name of the U.S. Government agency and the Government contract number are:
`D Additional inventors are being named on separately numbered sheets attached hereto.
`
`No.
`
`Respectfully submitted,
`Hickman Palenno Truong & Becker LLP
`
`Christopher J. Palenno
`Attorney of Record
`Registration No. 42,056
`
`EXPRESS MAIL CERTIFICATE OF MAILING
`
`"Express Mail" mailing label number EL624356320US
`
`Date of Deposit 6/20/00
`
`I hereby certify that this paper or fee is being deposited with the United States Postal Service "Express Mail Post
`Office to Addressee" service under 37 CFR 1.10 on the date indicated above and is addressed to the Commissioner
`of Patents and Trademarks, Washington, D.C. 20231.
`aa:5~ (VUDa-e,
`
`1600 Willow Street
`San Jose, CA 95125
`(408) 414-1080 CJP:clw
`Date: June _20,2000
`Facsimile(408) 414-1076
`
`Oracle Exhibit 1004, Page 1
`
`

`
`- - - - - - - -
`
`- - - - - - - - - - - -
`
`----~ - - - - - --
`
`AppJk.mt 01' Patentee: ..,A""'SI""'IA.......R""'A....Z.....l""'Z...e"'-ta....l"'-.
`Serial or PatelltNo.:
`Filed or Issued:
`For: SYMnOLIC:-D:-E='F=IN=IT=r=ON-:--O---F~A--V~IR-1-'U-A-L~c6MiiU/ffik SYSTE~:M--~~~------------
`
`---:Attorney's Docket No.: ,5.~218-0500
`_
`
`VERl.l"Jl!:D STATEMENT (DECLARATION) C1.JAIMTNG SMALL ENTITY STATUS
`(37) ern 1.9(f) and 1.27(c) - SMALL BUSINESS CONCER.l\'
`
`I hereby declare that Jam
`(J tht owner of 1.he sn1all business concern identified below:
`all official of the small business concern empowered to act on behalf of the concern
`[X]
`identified below:
`
`NAM.E OF ORGANIZATION: XCFTech. Inc.. a Delawm'e COl'poration
`ADDRESS OF ORGANT7:ATION:~4~~lSitQ."Mj~Ri~ntJ)t;h:_~ ...E.wl1mJlt. CA 94538
`
`I hereby declare that the above identified small b1,l5~neS5 concern qualiliec1 as a small bl\siness cancel'll as defined ill 13 CFR 121.3-18, and
`reproduced in 37 CFR 1.9(d), for purposes of paying rcducccl fees under section 4l(a) and (b) of Title 35, United States Code, in that the
`numbL'r of employees of the concern, including those of its affiliates, does 110t exceed 500 persons. For purposes of this staTement, (1) the
`number of employees of the business concern is the aveTage over tha plcvious fiscal year of the concern of the persous employed on a full(cid:173)
`time, part-time or temporary basis during each of the pay periods of the fiscal year, and (2) concems are affiliates of each etlter when either,
`directly or indirectly, one eOnCern Controls or has the power to cOlltrol the other, oral third party or partiel;; controls or has the power TO control
`both.
`
`I hereby declare that rights under contract or law have been conveyed 10 anti renmin. with The small business concem idcntificd above with
`rcg~r:d to !he invention, entitled SYMBOLIC DEli'lNITION OF A VIRTUAL COMPUTER SYSTEM by invcnlor(s) ASHAR AZrZ,
`M.t~TlN PATTBRSON, THOMAS MARKSON in
`
`tl)e specification filed herewitb;
`(X]
`[J application Serial No.
`() pafenl no,
`
`t fitcd.
`> issued
`
`_
`
`If t1'@1rights held by the above identified small businesS concern are not exclusive, each individual, conccm or organization having rights to
`t11cimvention is J1~tc~l Qclc>w* (Iud no rights to the invention ate held by any person, other than the inventor, who could not qualify as an
`ind?,p'cndcnt illwnlor under 37 CFR 1.9(c) if that person made the invention, or by liny CQl1ccm which would not qualify as a small business
`cOt~Illl1J:ldet 37 CPR 1.9(d} or a Ilonprofit organi7.11tion under 37 CFR L9(c)_ $NOTE: Separate verified statements are required from each
`mll{~n person, concem or organiz.ation having rights 10 the invention averring to their St<ltllS as small entities. (37 CFR 1.27)
`~f~
`_
`N1\;~R __.
`AD:alrnSS
`0.= [ J I-N-n-rv-m-u-A-L-----[-l-S-M-A-I-.r-.B-U-S-IN-E-'S-S-C-.O-N-C-E-RN--
`
`] NONPROFIT ORGANIZATION
`
`;:;::::::'w
`
`NAMR_._~
`ADDRESS :-:::-==:-:-::-
`[
`] INDIVIDUAL
`
`-=----
`-:----::--
`] SMALL BUSINESS CONCERN
`
`] NONPROFIT ORGANT7.ATION
`
`I :acknowledge the dUly to file, in this application or patent, natiHcatioll of any change in status resulting in loss ofentitlement to small entity
`SlUms prlor to paying, or at tIle tinla ofllaying, the carlicst of the issue icc or any maintenance fee due after the date 01\ which status as Ii small
`entity is no longer appropriale, (37 CFR L28(b))
`
`1 hC'r~b)' declare that all statemenlS mnde berein of my own knowledge are true and that all statcmcnts made 011 intormation and beUef are
`believed to pc truc; and filIthcr that thesc statements wert: made with the knowledge that willful false statements and the like so madc arC
`pltnish~ble by flIle or imprisonment, or both, under section 1001 of Title 18 of the United States Code, and that sllch willtul false Statelllel)tS
`ffi::ly jcopardi7.6 the validity ofthe application, any patent issuing Ih~rcon, or any patent to which tIlis vel'ifiea statement i.~ directed.
`
`rive Fremont CA 94538
`
`Oracle Exhibit 1004, Page 2
`
`

`
`·.
`
`55218-0500
`
`Patent
`
`UNITED STATES PROVISIONAL PATENT ApPLICATION
`
`FOR
`
`SYMBOLIC DEFINITION OF A VIRTUAL COMPUTER SYSTEM
`
`INVENTORS:
`
`ASHAR AzIZ, FREMONT, CALIFORNIA
`MARTIN PATTERSON, MOUNTAIN VIEW, CALIFORNIA
`THOMAS MARKSON, SAN MATEO, CALIFORNIA
`
`PREPARED BY:
`
`HICKMAN PALERMO TRUONG & BECKER, LLP
`1600 WILLOW STREET
`SAN JOSE, CALIFORNIA 95125
`(408) 414-1080
`
`EXPRESS MAIL CERTIFICATE OF MAILING
`
`"Express Mail" mailing label number ""'E=L=6=24-.'-'3"'-'5:::...:6=2=3'-"0:..;:U'-"S"--
`
`_
`
`55218-0500
`
`-1-
`
`Oracle Exhibit 1004, Page 3
`
`

`
`SYMBOLIC DEFINITION OF A VIRTUAL COMPUTER SYSTEM
`
`FIELD OF THE INVENTION
`
`The present invention generally relates to data processing in the field of visual
`
`5
`
`programming and data networking. The invention relates more specifically to a method and
`
`apparatus for symbolically creating a definition of a computer system.
`
`BACKGROUND OF THE INVENTION
`
`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
`
`10 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, entitled "Extensible Computing System," naming Ashar Aziz et al. as inventors, the
`
`entire disclosure of which is hereby incorporated by reference as if fully set forth herein.
`
`Aziz et al. disclose a method and apparatus for selecting, from within a large, extensible
`
`15
`
`computing framework, elements for configuring a particular computer system. Accordingly,
`
`upon demand, a virtual server farm or other data center may be created, configured and
`
`brought on-line to carry out useful work, allover a global computer network, virtually
`
`instantaneously.
`
`Although the methods and systems disclosed in Aziz et al. are powerful and flexible,
`
`20
`
`users and adm~nistrators ofthe 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 example, an improvement upon Aziz et al. would be a way to
`
`specify, price, order and deploy virtual server farms using a networked computer workstation
`
`and a standard browser.
`
`55218-0500
`
`-2-
`
`Oracle Exhibit 1004, Page 4
`
`

`
`Using one known online service, "Rackspace.com," a user may select a server
`
`platfonn, configure it with a desired combination of disk storage, tape backup, and certain
`
`software 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
`
`5
`
`user interface is rudimentary and relies only on pull-down lists 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. Pat. No.
`
`5,163,130 (Jean-Marie Hullot, NeXT Computer, Inc., 1992) discloses a visual programming
`
`10 method in which computer program elements are selected from a palette and moved into a
`
`graphical representation ofthe logical flow ofthe program.
`
`The commercial product "Visio" is a well-known tool for creating graphical
`
`presentations useful in business and industry. An end user may create a Visio presentation by
`
`dragging and dropping symbols into a workspace. Complex pictures and diagrams can be
`
`15
`
`created. Templates or "stencils" may be created and distributed, enabling others to create
`
`new pictures and diagrams that have the same appearance parameters 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 server fann, or other computer system configurations that are
`
`20
`
`created based <;m the extensible computing framework described in Aziz et al.
`
`There is a specific need for a way to create such a description using graphic icons and
`
`other symbols that represent elements of a real server fann or other computer system.
`
`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,
`
`55218-0500
`
`-3-
`
`Oracle Exhibit 1004, Page 5
`
`

`
`configuring and activating a real computer system that embodies the visual representation.
`
`There is a related need for a way to prepare such quotes on a rapid basis for use in connection
`
`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
`
`5
`
`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 save a visual representation so that it can be
`
`retrieved and modified at a later time.
`
`End users also would find it useful to have a way to negotiate fees and costs for a
`
`10
`
`particular virtual server farm with the service provider that is providing the hardware to
`
`implement the server farm.
`
`-- HARDWARE OVERVIEW
`
`FIG. 1 is a block diagram that illustrates a computer system 100 upon which an
`
`embodiment ofthe invention may be implemented. Computer system 100 includes a bus 102
`
`15
`
`or other communication mechanism for communicating information, and a processor 104
`
`coupled with bus 102 for processing information. Computer system 100 also includes a main
`
`memory 106, such as a random access memory (RAM) or other dynamic storage device,
`
`coupled to bus 102 for storing information and instructions to be executed by processor 104.
`
`Main memory 106 also may be used for storing temporary variables or other intermediate
`
`20
`
`information d~ring execution of instructions to be executed by processor 104. Computer
`
`system 100 further includes a read only memory (ROM) 108 or other static storage device
`
`coupled to bus 102 for storing static information and instructions for processor 104. A
`
`storage device 110, such as a magnetic disk or optical disk, is provided and coupled to bus
`
`102 for storing information and instructions.
`
`55218-0500
`
`-4-
`
`Oracle Exhibit 1004, Page 6
`
`

`
`Computer system 100 may be coupled via bus 102 to a display 112, such as a cathode
`
`ray tube (CRT), for displaying information to a computer user. An input device 114,
`
`including alphanumeric and other keys, is coupled to bus 102 for communicating information
`
`and command selections to processor 104. Another type of user input device is cursor
`
`5
`
`control 116, such as a mouse, a trackball, or cursor direction keys for communicating
`
`direction information and command selections to processor 104 and for controlling cursor
`
`movement on display 112. This input device typically has two degrees of freedom in two
`
`axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specifY
`
`positions in a plane.
`
`10
`
`The invention is related to the use of computer system 100 for symbolically creating a
`
`definition of a computer system. According to one embodiment of the invention,
`
`symbolically creating a definition of a computer system is provided by computer system 100
`
`in response to processor 104 executing one or more sequences of one or more instructions
`
`contained in main memory 106. Such instructions may be read into main memory 106 from
`
`15
`
`another computer-readable medium, such as storage device 110. Execution ofthe sequences
`
`of instructions contained in main memory 106 causes processor 104 to perform the process
`
`steps described herein. In alternative embodiments, hard-wired circuitry may be used in
`
`place of or in combination with software instructions to implement the invention. Thus,
`
`embodiments ofthe invention are not limited to any specific combination ofhardware
`
`20
`
`circuitry and spftware.
`
`The term "computer-readable medium" as used herein refers to any medium that
`
`participates in providing instructions to processor 104 for execution. Such a medium may
`
`take many forms, including but not limited to, non-volatile media, volatile media, and
`
`transmission media. Non-volatile media includes, for example, optical or magnetic disks,
`
`55218-0500
`
`-5-
`
`Oracle Exhibit 1004, Page 7
`
`

`
`such as storage device 110. Volatile media includes dynamic memory, such as main memory
`
`106. Transmission media includes coaxial cables, copper wire and fiber optics, including the
`
`wires that comprise bus 102. Transmission media can also take the form of acoustic or light
`
`waves, such as those generated during radio-wave and infra-red data communications.
`
`5
`
`Common forms of computer-readable media include, for example, a floppy disk, a
`
`flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other
`
`optical medium, punch cards, paper tape, any other physical medium with patterns ofholes, a
`
`RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a
`
`carrier wave as described hereinafter, or any other medium from which a computer can read.
`
`10
`
`Various forms of computer readable media may be involved in carrying one or more
`
`-
`
`sequences of one or more instructions to processor 104 for execution. For example, the
`
`instructions may initially be carried on a magnetic disk of a remote computer. The remote
`
`computer can load the instructions into its dynamic memory and send the instructions over a
`
`telephone line using a modem. A modem local to computer system 100 can receive the data
`
`15
`
`on the telephone line and use an infrared transmitter to convert the data to an infrared signal.
`
`An infrared detector can receive the data carried in the infrared signal and appropriate
`
`circuitry can place the data on bus 102. Bus 102 carries the data to main memory 106, from
`
`which processor 104 retrieves and executes the instructions. The instructions received by
`
`main memory 106 may optionally be stored on storage device 110 either before or after
`
`20
`
`execution by processor 104.
`
`Computer system 100 also includes a communication interface 118 coupled to bus
`
`102. Communication interface 118 provides a two-way data communication coupling to a
`
`network link 120 that is connected to a local network 122. For example, communication
`
`interface 118 may be an integrated services digital network (ISDN) card or a modem to
`
`55218-0500
`
`-6-
`
`Oracle Exhibit 1004, Page 8
`
`

`
`provide a data communication connection to a corresponding type oftelephone line. As
`
`another example, communication interface 118 may be a local area network (LAN) card to
`
`provide a data communication connection to a compatible LAN. Wireless links may also be
`
`implemented. In any such implementation, communication interface 118 sends and receives
`
`5
`
`electrical, electromagnetic or optical signals that carry digital data streams representing
`
`various types of information.
`
`Network link 120 typically provides data communication through one or more
`
`networks to other data devices. For example, network link 120 may provide a connection
`
`through local network 122 to a host computer 124 or to data equipment operated by an
`
`10
`
`Internet Service Provider (ISP) 126. ISP 126 in tum provides data communication services
`
`through the world wide packet data communication network now commonly referred to as
`
`the "Internet" 128. Local network 122 and Internet 128 both use electrical, electromagnetic
`
`~
`
`or optical signals that carry digital data streams. The signals through the various networks
`
`and the signals on network link 120 and through communication interface 118, which carry
`
`15
`
`the digital data to and from computer system 100, are exemplary forms of carrier waves
`
`transporting the information.
`
`Computer system 100 can send messages and receive data, including program code,
`
`through the network(s), network link 120 and communication interface 118. In the Internet
`
`example, a server 130 might transmit a requested code for an application program through
`
`20
`
`Internet 128, I~P 126, local network 122 and communication interface 118. In accordance
`
`with the invention, one such downloaded application provides for symbolically creating a
`
`definition of a computer system as described herein.
`
`55218-0500
`
`-7-
`
`Oracle Exhibit 1004, Page 9
`
`

`
`The received code may be executed by processor 104 as it is received, and/or stored
`
`in storage device 110, or other non-volatile storage for later execution. In this manner,
`
`computer system 100 may obtain application code in the form of a carrier wave.
`
`In the foregoing specification, the invention has been described with reference to
`
`5
`
`specific embodiments thereof. It will, however, be evident that various modifications and
`
`changes may be made thereto without departing from the broader spirit and scope of the
`
`invention. The specification and drawings are, accordingly, to be regarded in an illustrative
`
`rather than a restrictive sense.
`
`Embodiments of the invention may include:
`
`l.
`
`A method of defining and deploying a networked computer system, comprising the
`
`steps of:
`
`creating and storing a textual representation of a logical configuration of the
`
`networked computer system according to a structured markup language;
`
`based on the textual representation, generating one or more commands for one or
`
`more switch devices that are interconnected to one or more computing
`
`elements and storage devices, wherein the commands instruct the switch
`
`devices to logically connect the computing elements and storage devices into
`
`an operable computer system that conforms to the logical configuration.
`
`2.
`
`A method as recited in Claim 1, further comprising the step of receiving a graphical
`
`representation of a logical configuration of the networked computer system that is
`
`based on a first user selection from a palette of one or more graphical icons that
`
`represent logical elements of the networked computer system and a second user
`
`selection of graphical interconnections of the icons.
`
`1
`
`2 3 4 5 6 7 8 9
`
`1
`
`2 3 4 5
`
`55218-0500
`
`-8-
`
`Oracle Exhibit 1004, Page 10
`
`

`
`1
`
`2
`
`3
`
`4
`
`I
`
`2
`
`3
`
`4
`
`5
`
`1
`
`2
`
`3
`
`4
`5
`6
`
`I
`
`2
`
`3
`
`4
`
`5
`
`6
`
`1
`
`2
`
`3
`
`1
`
`2
`
`3
`
`3.
`
`A method as recited in Claim 2, wherein the step of creating and storing a textual
`
`representation comprises the step of creating and storing the textual representation of
`
`the logical configuration of the networked computer system according to a structured
`
`markup language based on the graphical representation.
`
`4.
`
`A method as recited in Claim 1, wherein 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 definitions of servers of the networked computer system, wherein each
`
`definition of a server uses and references the server role definition.
`
`5.
`
`A method as recited in Claim 1, wherein 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 of the networked computer system,
`
`wherein each definition of a server uses and references the server role
`
`definition.
`
`6.
`
`A method as recited in Claim I, wherein the textual representation comprises:
`
`at least one definition of a load balancing function;
`
`at least one server tier definition that defines a plurality of servers that receive
`
`inbound traffic from the load balancing function; and
`
`at least one fixed server definition that defines a fixed server that is associated with
`
`one of the servers in the server tier.
`
`7.
`
`8.
`
`A method as recited in Claim 6, wherein the 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.
`
`A method as recited in Claim 1, wherein 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
`
`55218-0500
`
`-9-
`
`Oracle Exhibit 1004, Page 11
`
`

`
`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.
`
`9.
`
`A method as recited in Claim 1, wherein the textual representation comprises at least
`
`one server tier definition that defines a plurality of servers that receive inbound traffic
`
`from the load balancing function; and wherein 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.
`
`10.
`
`A method as recited in Claim 1, wherein 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 information specifying a network
`
`address of the server.
`
`11.
`
`A method as recited in Claim 1, further comprising the steps of:
`
`associating a first server definition of the textual representation with a graphical icon,
`
`wherein the first server definition comprises at least one external entity
`
`declaration that represents a network address of a server that is represented by
`
`the first server definition;
`
`creating and storing, in the textual representation, a copied server definition based on
`
`duplicating the first server definition that is associated with the graphical icon;
`
`resolving each external entity declaration of the server definition of the textual
`
`.representation and the copied server definition ofthe textual representation
`
`into a different actual network address;
`
`based on the textual representation, generating one or more commands for one or
`
`more switch devices that are interconnected to one or more computing
`
`elements and storage devices, wherein the commands instruct the switch
`
`4 5 6 7 1
`
`2 3 4 5 6 1
`
`2 3 4 5
`
`6 1
`
`2 3 4 5 6 7 8 9
`
`10
`
`11
`
`12
`
`13
`
`..
`
`55218-0500
`
`-10-
`
`Oracle Exhibit 1004, Page 12
`
`

`
`14
`
`15
`
`devices to logically connect the computing elements and storage devices into
`
`an operable computer system that conforms to the logical configuration.
`
`12.
`
`A method as recited in Claim I, wherein the textual representation comprises at least
`
`one firewall definition that comprises a firewall name value, a plurality ofport values
`
`that define logical connections to a firewall device associated with the firewall
`
`definition, and one more definitions of services that the firewall is allowed to permit
`
`or deny.
`
`13.
`
`A method as recited in Claim I, wherein the textual representation comprises:
`
`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 drive name value and a
`
`drive size value; and
`
`one or more definitions of servers of the networked computer system, wherein each
`
`definition of a server uses and references the server role definition.
`
`14.
`
`A method as recited in Claim 13, wherein the step of generating one or more
`
`commands comprises the steps of:
`
`generating one or more commands that allocate disk space according to the drive size
`
`value in a storage device that is accessible using a storage area network
`
`interface;
`
`mapping the allocated disk space to a server of the networked computer system that
`
`implements one of the definitions of servers.
`
`15.
`
`A method as recited in Claim I, wherein the textual representation comprises an
`
`action definition that defines actions for execution for with respect to each server in a
`
`tier of one or more servers when an additional server is added to the tier.
`
`16.
`
`A method as recited in Claim IS, wherein the action definition complises 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 the name value.
`
`I
`
`2 3 4 5 1
`
`2 3 4 5 6 7 8 I
`
`2 3 4 5 6 7 1
`
`2 3 1
`
`2 3
`
`55218-0500
`
`-11-
`
`Oracle Exhibit 1004, Page 13
`
`

`
`17.
`
`A method as recited in Claim 16, further comprising the steps of:
`
`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.
`
`18.
`
`A method as recited in Claim 1, wherein the textual representation comprises an
`
`action definition that defines actions for execution for with respect to each server in a
`
`tier of one or more servers when one of the servers is removed from the tier.
`
`19.
`
`A method as recited in Claim 18, wherein the action defmition comprises 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 the name value.
`
`20.
`
`A method as recited in Claim 16, further comprising the steps of:
`
`receiving information indicating that one of the servers has been deleted from the tier;
`
`executing the script of actions with respect to each server in the tier.
`
`21.
`
`A computer-readable medium carrying one or more sequences of instructions for
`
`defining and deploying a networked computer system, wherein execution of the one
`
`or more sequences ofinstructions by one or more processors causes the one or more
`
`processors to perform the steps of:, comprising the steps of:
`
`creating and storing a textual representation of a logical configuration of the
`
`networked computer system according to a structured markup language;
`
`based on the textual representation, generating one or more commands for one or
`
`more switch devices that are interconnected to one or more computing
`
`elements and storage devices, wherein the commands instruct the switch
`
`devices to logically connect the computing elements and storage devices into
`
`an operable computer system that conforms to the logical configuration.
`
`22.
`
`A method of defining and deploying a networked computer system, comprising the
`
`steps of:
`
`displaying a palette of one or more graphical icons that represent logical elements of
`
`the networked computer system;
`
`1
`
`2 3 1
`
`2 3 1
`
`2 3 1
`
`2 3 1
`
`2 3 4 5 6 7 8 9
`
`10
`
`11
`
`1
`
`2 3 4
`
`55218-0500
`
`-12-
`
`Oracle Exhibit 1004, Page 14
`
`

`
`receiving first user input representing a selection of one or more of the graphical
`
`icons;
`
`receiving second user input representing graphical interconnections of the icons;
`
`creating, storing and displaying a graphical representation of a "logical configuration
`
`ofthe networked computer system based on the first user input and the second
`
`user input;
`
`creating and storing a textual representation of a logical configuration of the
`
`networked computer system according to a structured markup language;
`
`based on the textual representation, generating one or more commands for one or
`
`more switch devices that are interconnected to one or more computing
`
`elements and storage devices, wherein the commands instruct the switch
`
`devices to logically connect the computing elements and storage devices into
`
`an operable computer system that conforms to the logical configuration.
`
`23.
`
`A method as recited in Claim 22, wherein the step of creating and storing a textual
`
`representation comprises the step of creating and storing the textual representation of
`
`the logical configuration ofthe networked computer system according to a structured
`
`markup language based on the graphical representation.
`
`5
`
`6
`
`7
`
`8
`
`9
`
`10
`
`11
`
`12
`
`13
`
`14
`
`15
`
`16
`
`17
`
`1
`
`2 3 4 5
`
`ABSTRACT OF THE DISCLOSURE
`
`A method and apparatus for defining and deploying a networked computer system features
`
`creating and storing a textual representation of a logical configuration of the networked
`
`computer system according to a structured markup language. Based on the textual
`
`10
`
`representation, one or more commands are generated for configuring an operable computer
`
`system that conforms to the logical configuration. The commands may be directed to one or
`
`more switch devices that are interconnected to one or more computing elements and storage
`
`devices, to instruct the switch devices to logically connect the computing elements and
`
`storage devices into the computer system. In one embodiment, a graphical representation of
`
`55218-0500
`
`-13-
`
`Oracle Exhibit 1004, Page 15
`
`

`
`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 logical elements of the
`
`networked computer system, and a user selection of graphical interconnections of the icons.
`
`The textual representation is generated automatically based on the graphical representation.
`
`5
`
`As a result, a real-world virtual server farm or data center may be created and deployed by
`
`dragging and dropping icons representing computing elements.
`
`55218-0500
`
`-14-
`
`Oracle Exhibit 1004, Page 16
`
`

`
`124
`
`HOST
`
`126
`
`128
`
`iii
`
`I
`
`~J
`
`illI
`
`INTERFACE
`COMMUNICATION
`
`104
`PROCESSOR
`
`102
`
`BUS
`
`I \
`
`\
`
`-
`
`13.Q.
`SERVER
`
`1.1Q.
`
`DEVICE
`STORAGE
`
`1Q8.
`
`1//
`
`1QQ
`
`I
`
`ROM
`
`MEMORY
`
`MAIN
`
`I
`I
`
`V) .....
`
`\------------------l
`
`116
`
`CONTROL
`CURSOR
`
`114
`INPUTDEVICE
`
`112
`
`DISPLAY
`
`FIG.1
`
`Oracle Exhibit 1004, Page 17
`
`

`
`ITech
`
`3000 Bridge Parkway Suite 101
`Redwood Shores
`CA 94065-1291
`
`Phone 650 620-3100
`Fax 650 620-9012
`
`Phase 1 User Interface Design
`
`Beta 0.9 Web User Interface
`
`XCFTECH, INC. PROPRIETARY AND CONFIDENTIAL
`
`016
`
`Oracle Exhibit 1004, Page 18
`
`

`
`1 Introduction
`
`This document describes the first release of
`XCFTech's online services. It presents:
`
`the web-accessible user interface for
`
`•
`
`•
`
`•
`
`•
`
`A list of target user types and their goals.
`
`A series of high-level storyboards for each of the main user types.
`
`A function-by-function description of the user interface components along with
`their navigation design.
`
`A structure diagram shOWing how the various components of the system inter(cid:173)
`relate.
`
`The user interface described here exists as a component within XCFTech's corporate web
`site, documented elsewhere. As such, it does not address issues such as look and feel,
`wider site content and web site management.
`
`1.1 Target Audienc

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