throbber
fJl.ol4.o0
`
`jcS42 U.S. PTO
`\ \\\\\\ \\\\\ \\\\\ \\\\\ \\\\\ \\\\\ \\\\ \\\\
`02/11/00
`
`UTILITY PATENT APPLICATION
`UNDER 37 CFR 1.53(b)
`
`Box PATENT APPLICATION
`Assistant Commissioner for Patents
`Washington, DC 20231
`
`Sir:
`
`Case Docket No. 55218-012
`
`Transmitted herewith for filing is the patent application of:
`
`INVENTORS: ASHAR AZIZ, TOM MARKSON, MARTIN PATTERSON
`FOR:
`EXTENSIBLE COMPUTING SYSTEM
`
`~ o o o
`~ o
`
`Enclosed are:
`52 pages of specification, claims, abstract.
`Declaration and Power of Attorney.
`Priority Claimed:
`Certified copy of
`18 sheets of formal rlro:lUT11nOC
`An assignment of the invention to
`and the assignment recordation fee.
`Information Disclosure Statement, Form PTO-1449 and reference.
`Return Receipt Postcard.
`
`Respectfully submitted,
`
`MCD~ERY
`
`Edward A. Becker
`Registration No. 37,777
`
`600 13th Street, N.W.
`Washington, D. C. 20005-3096
`(408) 271-2300 EAB:ccf
`Date: February 11, 2000
`Facsimile: (408) 271-2310
`
`EXPRESS MAIL CERTIFICATE OF MAILING
`
`"Express Mail" mailmg label number
`
`EL402670905US
`
`Date of Deposit
`
`2·11·2000
`
`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.
`
`r nrn ilin
`
`

`
`055218-0012
`
`Patent
`
`UNITED STATES PATENT APPLICATION
`
`FOR
`
`EXTENSIBLE COMPUTING SYSTEM
`
`INVENTORS:
`
`ASHARAzIZ
`TOM MARKSON
`MARTIN PATTERSON
`
`PREPARED BY:
`
`MCDERMOTT, WILL & EMERY
`600 13TH STREET, N.W.
`WASHINGTON, DC 20005-3096
`(202) 756-8000
`
`"Express Mail" mailing label number
`
`EXPRESS MAIL CERTIFICATE OF MAILING
`
`E.1.. "(;).z.' 11J9 0 G '" 6
`II 10 /)
`
`. ; /
`Date of Deposit
`I hereby certify that this paper or fee is b;ing 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 Assistant Commissioner for Patents,
`Washington, D.C. 20231.
`
`C1.Are.. e. ~ ,."" e~
`
`(Typed or printed name of person maili g paper or fee)
`
`

`
`EXTENSIBLE COMPUTING SYSTEM
`
`FIELD OF THE INVENTION
`
`The present invention generally relates to data processing. The invention relates
`
`more specifically to methods, apparatus, and mechanisms providing an extensible,
`
`5
`
`flexible, and scalable computing system.
`
`BACKGROUND OF THE INVENTION
`
`Builders of Web sites and other computer systems today have to deal with many
`
`systems planning issues. These include capacity planning for normal growth, expected or
`
`unexpected peak demand, availability and security of the site, etc. Companies who wish
`
`10
`
`to provide services on the Web have new business and service models, which are the
`
`areas in which they want to innovate and lead, but in order to do so they have to deal with
`
`the non-trivial complexity of designing, building and operating a large-scale Web site.
`
`This includes the need to grow and scale the site while it is operational.
`
`Doing all this requires finding and hiring trained personnel capable of engineering
`
`15
`
`and operating such a site, which may be potentially large and complicated. This is
`
`creating difficulty for many organizations, because designing, constructing and operating
`
`such large sites is simply not their core competency.
`
`One response to these issues is to host an enterprise Web site at a third party site,
`
`co-located with other Web sites of other enterprises. Such outsourcing facilities are
`
`20
`
`currently available from companies such as Exodus, AboveNet, GlobalCenter, etc. These
`
`facilities provide physical space, and redundant network and power facilities so that the
`
`enterprise customer or user need not provide them. The network and power facilities are
`
`shared among many enterprises or customers.
`
`However, the users of these facilities are still required to do a lot of work relating
`
`25
`
`to their computing infrastructure in the course of building, operating and growing their
`
`facilities. Information technology managers ofthe enterprises hosted at such facilities
`
`055218-0012
`
`-2-
`
`

`
`remain responsible for selecting, installing, configuring, and maintaining their own
`
`computing equipment at the facilities. The managers must still confront difficult issues
`
`such as resource planning and handling peak capacity.
`
`Even when outsourcing companies also provide computing facilities (e.g., Digex),
`
`5
`
`the facilities are no easier to scale and grow for the outsourcing company, because
`
`growth involves the same manual and error-prone administrative steps. In addition,
`
`problems remain with capacity planning for unexpected peak demand.
`
`Further, each Web site may have different requirements. For example, particular
`
`Web sites may require the ability to be independently administered and controlled. Others
`
`10 may require a particular type or level of security that isolates the Web site from all other
`
`sites that are co-located at the service provider. Others may require a secure connection to
`
`an enterprise Intranet located elsewhere.
`
`Also, various Web sites differ in internal topology. Some sites simply comprise a
`
`row of Web servers that are load balanced by a Web load balancer. Suitable load
`
`15
`
`balancers are Local Director from Cisco Systems, Inc., BigIP from F5Labs, Web Director
`
`from Alteon, etc. Other sites may be constructed in a multi-tier fashion, whereby a row of
`
`Web servers handle Hypertext Transfer Protocol (HTTP) requests, but the bulk of the
`
`application logic is implemented in separate application servers. These application
`
`servers in tum may need to be connected back to a tier of database servers.
`
`20
`
`Some of these different configuration scenarios are shown in FIG. lA, FIG. IB,
`
`and FIG. I C. FIG. IA is a block diagram of a simple Web site, comprising a single
`
`machine 100 comprising a CPU 102 and disk 104. Machine 100 is coupled to the global,
`
`packet-switched data network known as the Internet 106, or to another network. Machine
`
`100 may be housed in a co-location service ofthe type described above.
`
`25
`
`FIG. IB is a block diagram ofa I-tier Web server farm 110 comprising a plurality
`
`of Web servers WSA, WSB, WSC. Each of the Web servers is coupled to a load-balancer
`
`055218-0012
`
`-3-
`
`

`
`112 that is coupled to Internet 106. The load balancer divides the traffic between the
`
`servers to maintain a balanced processing load on each server. Load balancer 112 may
`
`also include or may be coupled to a firewall for protecting the Web servers from
`
`unauthorized traffic.
`FIG. Ie shows a 3-tier server farm 120 comprising a tier of Web servers WI, W2,
`
`5
`
`etc., a tier of application servers AI, A2, etc., and a tier of database servers D1, D2, etc.
`
`The Web servers are provided for handling HTTP requests. The application servers
`
`execute the bulk of the application logic. The database servers execute database
`
`management system (DBMS) software.
`
`10
`
`Given the diversity in topology of the kinds of Web sites that may need to be
`
`constructed, it may appear that the only way for constructing large-scale Web sites is to
`
`custom build each one. Indeed, this is the conventional approach. Many organizations are
`
`separately struggling with the same issues, and custom building each Web site from
`
`scratch. This is inefficient and involves a significant amount of duplicate work at
`
`15
`
`different enterprises.
`
`Still another problem with the conventional approach is resource and capacity
`
`planning. A Web site may receive vastly different levels of traffic on different days or at
`
`different hours within each day. At peak traffic times, the Web site hardware or software
`
`may be unable to respond to requests in a reasonable time because it is overloaded. At
`
`20
`
`other times, the Web site hardware or software may have excess capacity and be
`
`underutilized. In the conventional approach, finding a balance between having sufficient
`
`hardware and software to handle peak traffic, without incurring excessive costs or having
`
`over-capacity, is a difficult problem. Many Web sites never find the right balance and
`
`chronically suffer from under-capacity or excess capacity.
`
`25
`
`Yet another problem is failure induced by human error. A great potential hazard
`
`present in the current approach of using manually constructed server farms is that human
`
`055218-0012
`
`-4-
`
`

`
`error in configuring a new server into a live server fann can cause the server fann to
`
`malfunction, possibly resulting in loss of service to users of that Web site.
`
`Based on the foregoing, there is a clear need in this field for improved methods
`
`and apparatus for providing a computing system that is instantly and easily extensible on
`
`5
`
`demand without requiring custom construction.
`
`There is also a need for a computing system that supports creation of multiple
`
`segregated processing nodes, each of which can be expanded or collapsed as needed to
`
`account for changes in traffic throughput. Other needs will become apparent in the
`
`disclosure provided in this document.
`
`055218-0012
`
`-5-
`
`

`
`SUMMARY OF THE INVENTION
`
`The foregoing needs and objects, and other needs and objects that will become
`
`apparent from the following description, are achieved by the present invention, which
`
`comprises, in one aspect, a method and apparatus for creating highly scalable, highly
`
`5
`
`available and secure data processing sites, based on a wide scale computing fabric
`
`("computing grid"). The computing grid is physically constructed once, and then
`
`logically divided up for various organizations on demand. The computing grid comprises
`
`a large plurality of computing elements that are coupled to one or more VLAN switches
`
`and to one or more storage area network (SAN) switches. A plurality of storage devices
`
`10
`
`are coupled to the SAN switches and may be selectively coupled to one or more of the
`
`computing elements through appropriate switching logic and commands. One port ofthe
`
`VLAN switch is coupled to an external network, such as the Internet. A supervisory
`
`mechanism, layer, machine or process is coupled to the VLAN switches and SAN
`
`switches.
`
`15
`
`Initially, all storage devices and computing elements are assigned to Idle Pools.
`
`Under program control, the supervisory mechanism dynamically configures the VLAN
`
`switches and SAN switches to couple their ports to one or more computing elements and
`
`storage devices. As a result, such elements and devices are logically removed from the
`
`Idle Pools and become part of one or more virtual server farms (VSFs). Each VSF
`
`20
`
`computing element is pointed to or otherwise associated with a storage device that
`
`contains a boot image usable by the computing element for bootstrap operation and
`
`production execution.
`
`By physically constructing the computing grid once, and securely and
`
`dynamically allocating portions of the computing grid to various organizations on
`
`25
`
`demand, economies of scale are achieved that are difficult to achieve when doing a
`
`custom build of each site.
`
`055218-0012
`
`-6-
`
`

`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention is illustrated by way of example, and not by way of
`
`limitation, in the figures of the accompanying drawings and in which like reference
`
`numerals refer to similar elements and in which:
`
`5
`
`FIG. lA is a block diagram ofa simple Web site having a single machine
`
`topology.
`
`FIG. IB is a block diagram of a one-tier Web server farm.
`
`FIG. IC is a block diagram of a three-tier Web server farm.
`
`FIG. 2 is a block diagram of one configuration of an extensible computing system
`
`10
`
`200 that includes a local computing grid.
`
`FIG. 3 is a block diagram of an exemplary virtual server farm featuring a SAN
`
`Zone.
`
`FIG. 4A, FIG. 4B, FIG. 4C, and FIG. 4D are block diagrams showing successive
`
`steps involved in adding a computing element and removing element from a virtual
`
`15
`
`server farm.
`
`FIG. 5A is a block diagram of an embodiment of a virtual server farm system,
`
`computing grid, and supervisory mechanism.
`
`FIG. 5B is a block diagram of a system in which a Supervisor or Control Plane
`
`server farm is protected by a firewall.
`
`20
`
`FIG. 6 is a block diagram of logical connections of a virtual server farm.
`
`FIG. 7 is a block diagram oflogical connections of a virtual server farm.
`
`FIG. 8 is a block diagram oflogical connections of a virtual server farm.
`
`FIG. 9 is a block diagram of a Control Plane server farm.
`
`FIG. lOis a block diagram showing connections of Control Plane machines to an
`
`25
`
`embodiment that uses a plurality of SAN switches ("SAN mesh").
`
`055218-0012
`
`-7-
`
`

`
`FIG. 11 is a block diagram of a plurality ofVSFs extended over WAN
`
`connections.
`
`FIG. 12 is a block diagram of a computer system with which an embodiment may
`
`be implemented.
`
`055218-0012
`
`-8-
`
`

`
`DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
`
`A method and apparatus for providing an extensible computing system is
`
`described. In the following description, for the purposes of explanation, numerous
`
`specific details are set forth in order to provide a thorough understanding of the present
`
`5
`
`invention. It will be apparent, however, to one skilled in the art that the present invention
`
`may be practiced without these specific details. In other instances, well-known structures
`
`and devices are shown in block diagram form in order to avoid unnecessarily obscuring
`
`the present invention.
`
`VIRTUAL SERVER FARM (VSF)
`
`10
`
`According to one embodiment, a wide scale computing fabric ("computing grid")
`
`is provided. The computing grid can be physically constructed once, and then logically
`
`divided up for various organizations on demand. A part of the computing grid is allocated
`
`to each of a plurality of enterprises or organizations. Each organization's logical pOliion
`
`of the computing grid is referred to as a Virtual Server Farm (VSF). Each organization
`
`15
`
`retains independent administrative control of its VSF. Each VSF can change dynamically
`
`in terms of number ofCPUs, storage capacity and disk and network bandwidth based on
`
`real-time demands placed on the server farm or other factors. Each VSF is secure from
`
`every other organizations' VSF, even though they are all logically created out of the same
`
`physical computing grid. A VSF can be connected back to an Intranet using either a
`
`20
`
`private leased line or a Virtual Private Network (VPN), without exposing the Intranet to
`
`other organizations' VSFs.
`
`An organization can access only the data and computing elements in the portion
`
`of the computing grid allocated to it, that is, in its VSF, even though it may exercise full
`
`(e.g. super-user or root) administrative access to these computers and can observe all
`
`25
`
`traffic on Local Area Networks (LANs) to which these computers are connected. This is
`
`055218-0012
`
`-9-
`
`

`
`accomplished using a dynamic fire-walling scheme, where the security perimeter of the
`
`VSF expands and shrinks dynamically.
`
`Each VSF can be used to host the content and applications of an organization
`
`which may be accessed via the Internet, Intranet or Extranet.
`
`5
`
`Configuration and control of the computing elements and their associated
`
`networking and storage elements is performed by a supervisory mechanism which is not
`
`directly accessible through any of the computing elements in the computing grid. For
`
`convenience, in this document the supervisory mechanism is called Control Plane and
`
`may comprise one or more processors or a network of processors. The supervisory
`
`10 mechanism may comprise a Supervisor, Controller, etc. Other approaches may be used,
`
`as described herein.
`
`The Control Plane runs on a completely independent set of computing elements
`
`assigned for supervisory purposes, such as one or more servers that may be
`
`;li:
`
`interconnected in a network or by other means. It performs control actions on the
`
`15
`
`computing, networking and storage elements of the computing grid through special
`
`control ports or interfaces of the networking and storage elements in the grid. The
`
`Control Plane provides a physical interface to switching elements of the system, monitors
`
`loads of computing elements in the system, and provides administrative and management
`
`functions using a graphical user interface or other suitable user interface.
`
`20
`
`Computers running the Control Plane are logically invisible to the computers in
`
`the computing grid (and therefore in any specific VSF) and cannot be attacked or
`
`subverted in any way via elements in the computing grid or from external computers.
`
`Only the Control Plane has physical connections to the control ports on devices in the
`
`computing grid, which controls membership in a particular VSF. The devices in the
`
`25
`
`computing can be configured only through these special control ports, and therefore
`
`055218-0012
`
`-10-
`
`

`
`computing elements in the computing grid are unable to change their security perimeter
`
`or access storage or computing devices which they are not authorized to do.
`
`Thus, a VSF allows organizations to work with computing facilities that appear to
`
`comprise a private server farm, dynamically created out of a large-scale shared
`
`5
`
`computing infrastructure, namely the computing grid. A Control Plane coupled with the
`
`computing architecture described herein provides a private server farm whose privacy
`
`and integrity is protected through access control mechanisms implemented in the
`
`hardware of the devices of the computing grid.
`
`The internal topology of each VSF is controlled by the Control Plane. The Control
`
`10
`
`Plane can take the basic interconnection of computers, network switches and storage
`
`network switches described herein and use them to create a variety of server farm
`
`configurations. These include but are not limited to, single-tier Web server farms front(cid:173)
`
`ended by a load balancer, as well as multi-tier configurations, where a Web server talks
`
`to an application server, which in tum talks to a database server. A variety ofload
`
`15
`
`balancing, multi-tiering and fire-walling configurations are possible.
`
`THE COMPUTING GRID
`
`The computing grid may exist in a single location or may be distributed over a
`
`wide area. First this document describes the computing grid in the context of a single
`
`building-sized network, composed purely oflocal area technologies. Then the document
`
`20
`
`describes the case where the computing grid is distributed over a wide area network
`
`(WAN).
`
`FIG. 2 is a block diagram of one configuration of an extensible computing system
`
`200 that includes a local computing grid 208. In this document "extensible" generally
`
`means that the system is flexible and scalable, having the capability to provide increased
`
`25
`
`or decreased computing power to a particular enterprise or user upon demand. The local
`
`computing grid 208 is composed of a large number of computing elements CPU1, CPU2,
`
`055218-0012
`
`-11-
`
`

`
`... CPUn. In an exemplary embodiment, there may be 10,000 computing elements, or
`
`more. These computing elements do not contain or store any long-lived per-element state
`
`information, and therefore may be configured without persistent or non-volatile storage
`
`such as a local disk. Instead, all long lived state information is stored separate from the
`
`5
`
`computing elements, on disks DISKl, DISK2, ... DISKn that are coupled to the
`
`computing elements via a Storage Area Network (SAN) comprising one or more SAN
`
`Switches 202. Suitable SAN switches are commercially available from Brocade and
`
`Excel.
`
`All of the computing elements are interconnected to each other through one or
`
`10 more VLAN switches 204 which can be divided up into Virtual LANs (VLANs). The
`
`VLAN switches 204 are coupled to the Internet 106. In general a computing element
`
`contains one or two network interfaces connected to the VLAN switch. For the sake of
`
`simplicity, in FIG. 2 all nodes are shown with two network interfaces, although some
`
`may have less or more network interfaces. Many commercial vendors now provide
`
`15
`
`switches supporting VLAN functionality. For example, suitable VLAN switches are
`
`commercially available from Cisco Systems, Inc. and Xtreme Networks. Similarly there
`
`are a large number of commercially available products to construct SANs, including
`
`Fibre Channel switches, SCSI-to-Fibre-Channel bridging devices, and Network Attached
`
`Storage (NAS) devices.
`
`20
`
`Control Plane 206 is coupled by a SAN Control path, CPU Control path, and
`
`VLAN Control path to SAN switches 202, CPUs CPUl, CPU2, ... CPUn, and VLAN
`
`Switches 204, respectively.
`
`Each VSF is composed of a set ofVLANs, a set of computing elements that are
`
`attached to the VLANs, and a subset ofthe storage available on the SAN that is coupled
`
`25
`
`to the set of computing elements. The subset of the storage available on the SAN is
`
`referred to as a SAN Zone and is protected by the SAN hardware from access from
`
`055218-0012
`
`-12-
`
`

`
`computing elements which are part of other SAN zones. Preferably, VLANs that provide
`
`non-forgeable port identifiers are used to prevent one customer or end user from
`
`obtaining access to VSF resources of another customer or end user.
`
`FIG. 3 is a block diagram of an exemplary virtual server farm featuring a SAN
`
`5
`
`Zone. A plurality of Web servers WS1, WS2, etc. are coupled by a first VLAN (VLAN1)
`
`to a load balancer(LB)lfirewall 302. A second VLAN (VLAN2) couples the Internet 106
`
`to the load balancer(LB)/firewall 302. Each ofthe Web servers may be selected from
`
`among CPU1, CPU2, etc., using mechanisms described further herein. The Web servers
`
`are coupled to a SAN Zone 304, which is coupled to one or more storage devices 306a,
`
`10
`
`306b.
`
`At any given point in time, a computing element in the computing grid, such as
`
`CPUl of FIG. 2, is only connected to the set ofVLANs and the SAN zone(s) associated
`
`with a single VSF. A VSF typically is not shared among different organizations. The
`
`subset of storage on the SAN which belongs to a single SAN zone, and the set ofVLANs
`
`15
`
`associated with it and the computing elements on these VLANs define a VSF.
`
`By controlling the membership of a VLAN and the membership of a SAN zone,
`
`Control Plane enforces a logical partitioning of the computing grid into multiple VSFs.
`
`Members of one VSF cannot access the computing or storage resources of another VSF.
`
`Such access restrictions are enforced at the hardware level by the VLAN switches, and by
`
`20
`
`port-level access control mechanisms (e.g., zoning) of SAN hardware such as Fibre
`
`Channel switches and edge devices such as SCSI to Fibre Channel bridging hardware.
`
`Computing elements that form part of the computing grid are not physically connected to
`
`the control ports or interfaces of the VLAN switches and the SAN switches, and therefore
`
`cannot control the membership ofthe VLANs or SAN zones. Accordingly, the computing
`
`25
`
`elements of the computing grid cannot access computing elements not located in the VSF
`
`in which they are contained.
`
`055218-0012
`
`-13-
`
`

`
`Only the computing elements that run the Control Plane are physically connected
`
`to the control ports or interface of the devices in the grid. Devices in the computing grid
`
`(computers, SAN switches and VLAN switches) can only be configured through such
`
`control ports or interfaces. This provides a simple yet highly secure means of enforcing
`
`5
`
`the dynamic partitioning of the computing grid into multiple VSFs.
`
`Each computing element in a VSF is replaceable by any other computing element.
`
`The number of computing elements, VLANs and SAN zones associated with a given
`
`VSF may change over time under control of the Control Plane.
`
`In one embodiment, the computing grid includes an Idle Pool that comprises large
`
`10
`
`number of computing elements that are kept in reserve. Computing elements from the
`
`Idle Pool may be assigned to a particular VSF for reasons such as increasing the CPU or
`
`memory capacity available to that VSF, or to deal with failures of a particular computing
`
`element in a VSF. When the computing elements are configured as Web servers, the Idle
`
`Pool serves as a large "shock absorber" for varying or "bursty" Web traffic loads and
`
`15
`
`related peak processing loads.
`
`The Idle Pool is shared between many different organizations, and therefore it
`
`provides economies of scale, since no single organization has to pay for the entire cost of
`
`the Idle Pool. Different organizations can obtain computing elements from the Idle Pool
`
`at different times in the day, as needed, thereby enabling each VSF to grow when
`
`20
`
`required and shrink when traffic falls down to normal. If many different organizations
`
`continue to peak at the same time and thereby potentially exhaust the capacity of the Idle
`
`Pool, the Idle Pool can be increased by adding more CPUs and storage elements to it
`
`(scalability). The capacity of the Idle Pool is engineered so as to greatly reduce the
`
`probability that, in steady state, a particular VSF may not be able to obtain an additional
`
`25
`
`computing element from the Idle Pool when it needs to.
`
`055218-0012
`
`-14-
`
`

`
`FIG. 4A, FIG. 4B, FIG. 4C, and FIG. 4D are block diagrams showing successive
`
`steps involved in moving a computing element in and out of the Idle Pool. Referring first
`
`to FIG. 4A, assume that the Control Plane has logically connected elements of the
`
`computing grid into first and second VSFs labeled VSFI, VSF2. Idle Pool 400 comprises
`
`5
`
`a plurality ofCPUs 402, one of which is labeled CPUx. In FIG. 4B, VSFI has developed
`
`a need for an additional computing element. Accordingly, the Control Plane moves
`
`CPUX from Idle Pool 400 to VSF 1, as indicated by path 404.
`
`In FIG. 4C, VSFI no longer needs CPUX, and therefore the Control Plane moves
`
`CPUX out ofVSFI and back into the Idle Pool 400. In FIG. 4D, VSF2 has developed a
`
`10
`
`need for an additional computing element. Accordingly, the Control Plane moves CPUX
`
`from the Idle Pool 400 to VSF2. Thus, over the course of time, as traffic conditions
`
`change, a single computing element may belong to the Idle Pool (FIG. 4A), then be
`
`assigned to a particular VSF (FIG. 4B), then be placed back in the Idle Pool (FIG. 4C),
`
`::::.
`
`and then belong to another VSF (FIG. 4D).
`
`15
`
`At each one of these stages, The Control Plane configures the LAN switches and
`
`SAN switches associated with that computing element to be part ofthe VLANs and SAN
`
`zones associated with a particular VSF (or the Idle Pool). According to one embodiment,
`
`in between each transition, the computing element is powered down or rebooted. When it
`
`is powered back up, it views a different portion of storage zone on the SAN, which
`
`20
`
`includes a bootable image of an operating system (e.g., Linux, NT, Solaris, etc.). The
`
`storage zone also includes a data portion that is specific to each organization (e.g., files
`
`associated with a Web server, database partitions, etc.). It is also part of another VLAN
`
`which is part ofthe VLAN set of another VSF, so it can access CPUs, SAN storage
`
`devices and NAS devices associated with the VLANs of the VSF into which it has been
`
`25
`
`transitioned.
`
`055218-0012
`
`-15-
`
`

`
`In a preferred embodiment, the storage zones include a plurality of pre-defined
`
`logical blueprints that are associated with roles that may be assumed by the computing
`
`elements. Initially, no computing element is dedicated to any particular role or task such
`
`as Web server, application server, database server, etc. The role of the computing element
`
`5
`
`is acquired from one of a plurality of pre-defined, stored blueprints, each of which
`
`defines a boot image for the computing elements that are associated with that role. The
`
`blueprints may be stored in the form of a file, a database table, or any other storage
`
`format that can associate a boot image location with a role.
`
`Thus, the movements of CPUX in FIG. 4A, FIG. 4B, FIG. 4C, FIG. 4D are
`
`10
`
`logical, not physical, and are accomplished by re-configuring VLAN switches and SAN
`
`Zones under control of The Control Plane. Further, each computing element in the
`
`computing grid initially is essentially fungible, and assumes a specific processing role
`
`only after it is connected in a virtual server farm and loads software from a boot image.
`
`No computing element is dedicated to any particular role or task such as Web server,
`
`15
`
`application server, database server, etc. The role of the computing element is acquired
`
`from one of a plurality of pre-defined, stored blueprints, each of which is associated with
`
`a role, each of which defines a boot image for the computing elements that are associated
`
`with that role.
`
`Since there is no long-lived state information stored in any given computing
`
`20
`
`element (such as a local disk), nodes are easily moved between different VSFs, and can
`
`run completely different OS and application software. This also makes each computing
`
`element highly replaceable, in case of planned or unplanned downtime.
`
`A particular computing element may perform different roles as it is brought into
`
`and out of various VSFs. For example, a computing element may act as a Web server in
`
`25
`
`one VSF, and when it is brought into a different VSF, it may be a database server, a Web
`
`load balancer, a Firewall, etc. It may also successively boot and run different operating
`
`055218-0012
`
`-16-
`
`

`
`systems such as Linux, NT or Solaris in different VSFs. Thus, each computing element in
`
`the computing grid is fungible, and has no static role assigned to it. Accordingly, the
`
`entire reserve capacity of the computing grid can be used to provide any of the services
`
`required by any VSF. This provides a high degree of availability and reliability to the
`
`5
`
`services provided by a single VSF, because each server performing a particular service
`
`has potentially thousands of back-up servers able to provide the same service.
`
`Further, the large reserve capacity of the computing grid can provide both
`
`dynamic load balancing properties, as well as high processor availability. This capability
`
`is enabled by the unique combination of diskless computing elements interconnected via
`
`10 VLANs, and connected to a configurable zone of storage devices via a SAN, all
`
`controlled in real-time by The Control Plane. Every computing element can act in the role
`
`of any required server in any VSF, and can connect to any logical partition of any disk in
`
`the SAN. When the grid requires more computing power or disk capacity, computing
`
`elements or disk storage is manually added to the idle pool, which may decrease over
`
`15
`
`time as more organizations are provided VSF services. No manual intervention is
`
`required in order to increase the number ofCPUs, network and disk bandwidth and
`
`storage available to a VSF. All such resources are allocated on demand from CPU,
`
`network and disk resources available in the Idle Pool by the Control Plane.
`
`A particular VSF is not subjected to manual reconfiguration. Only the machines
`
`20
`
`in the idle pool are manually configured into the computing grid. As a result, a great
`
`potential hazard present in current manually constructed server farms is removed. The
`
`possibility that human error in configuring a new server into a live server farm can cause
`
`the server farm to malfunction, possibly resulting in loss of service to users of that Web
`
`site, is virtually eliminated.
`
`25
`
`The Control Plane also replicates data stored in SAN attached storage devices, so
`
`that failure of any particular storage element does not cause a loss of service to any part
`
`055218-0012
`
`-17-
`
`

`
`ofthe system. By decoupling long-lived storage from computing devices using SANs,
`
`and by providing redundant storage and computing elements, where any computing
`
`element can be attached to any storage partition, a high degree of availability is achieved.
`
`A DETAILED EXAMPLE OF ESTABLISHING A VIRTUAL SERVER FARM,
`
`5 ADDING A PROCESSOR TO IT, AND REMOVING A PROCESSOR FROM IT
`
`FIG. 5A is a block diagram of a VSF system according to an embodiment. With
`
`reference to FIG. 5A, the following describes the detailed steps that may be used to create
`
`a VSF, add nodes to it and delete nodes from it.
`
`FIG. 5A depicts computing elements 502, comprising computers A through G,
`
`10
`
`coupled to VLAN capable switch 504. VLAN switch 504 is coupled to Internet 106, and
`
`the VLAN switch has ports VI, V2, etc. Computers A through G are f

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