`(12) Patent Application Publication (10) Pub. No.: US 2002/0171678A1
`(43) Pub. Date:
`Nov. 21, 2002
`Bandhole et al.
`
`US 2002.0171678A1
`
`(54) SYSTEM TO PROVIDE COMPUTING ASA
`PRODUCT USING DYNAMIC COMPUTING
`ENVIRONMENTS
`(75) Inventors: Jagadish Bandhole, San Jose, CA
`(US); Sekaran Nanja, San Jose, CA
`(US); Shan Balasubramaniam,
`Mountain View, CA (US)
`Correspondence Address:
`TOWNSEND AND TOWNSEND AND CREW,
`LLP
`TWO EMBARCADERO CENTER
`EIGHTH FLOOR
`SAN FRANCISCO, CA 94111-3834 (US)
`(73) Assignee: Jareva Technologies, Inc., Sunnyvale,
`CA 94089 (US)
`(21) Appl. No.:
`10/066,324
`(22) Filed:
`Jan. 30, 2002
`Related U.S. Application Data
`(63) Continuation-in-part of application No. 09/861,483,
`filed on May 17, 2001.
`
`Publication Classification
`
`(51) Int. Cl. ................................................... G09G 5/00
`(52) U.S. Cl. .............................................................. 345/744
`
`(57)
`
`ABSTRACT
`
`A System enabling computing to be provided as a packaged
`product or as a remote resource to users. Computing is
`delivered as a product or a resource by providing dynamic
`computing environments to users based on users choices of
`Virtual components (hardware, Software or network compo
`nents). A customer can choose the components and config
`ure a computing environment. The System packages this
`environment and makes it available for users to compute. A
`Service provider can use the System to create computing
`environments, automatically, on demand and thus providing
`computing as a remote resource to customers. The System
`monitors the usage of the customers and they are billed
`accordingly. In either case users can carry out their com
`puting activity remotely using a client device Such as a web
`browser.
`
`Customer selects components
`
`Customer configures computing environment
`
`w
`
`Customer schedules computing time
`
`w
`
`Customer computes
`
`Customer releases environment
`
`- 410
`
`- 420
`
`430
`r
`
`-440
`
`- 450
`
`Customer gets billed
`
`k Optional steps
`
`Steps taken by a customer in purchasing Computing as a product
`
`Amazon Ex. 1006
` IPR Petition - USP 7,519,814
`
`
`
`Patent Application Publication Nov. 21, 2002 Sheet 1 of 6
`
`US 2002/0171678A1
`
`
`
`I/O
`CONTROLLER
`
`SYSTEM
`MEMORY
`
`CENTRAL
`PROCESSOR
`
`22
`
`30
`
`DISPLAY
`ADAPTER
`
`40
`
`SERIAL
`PORT
`
`42
`
`44
`
`FIXED
`DISK
`
`NEWORK
`NTERFACE
`
`46
`
`48
`
`50
`
`MONITOR
`
`KEYBD
`
`Fig. 1B
`
`
`
`Patent Application Publication Nov. 21, 2002. Sheet 2 of 6
`
`US 2002/0171678A1
`
`H
`
`i
`
`3
`
`H
`
`9. O
`
`5
`
`f
`D
`
`t
`
`v
`
`N
`
`f
`
`
`
`O
`
`CN
`O
`
`R
`
`:
`
`
`
`s
`
`2
`Of
`
`
`
`Patent Application Publication Nov. 21, 2002. Sheet 3 of 6
`
`US 2002/0171678A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Patent Application Publication Nov. 21, 2002 Sheet 4 of 6
`
`US 2002/0171678A1
`
`
`
`uafieue W
`
`609
`
`/08
`
`JÐAIÐS
`
`(YYn
`
`
`
`Patent Application Publication Nov. 21, 2002. Sheet 5 of 6
`
`US 2002/0171678A1
`
`
`
`
`
`
`
`
`
`
`
`
`
`Customer selects components
`
`Customer configures computing environment"
`
`Customer schedules computing time”
`
`Customer computes
`
`Customer releases environment"
`
`Customer gets billed
`
`410
`
`420
`
`430
`
`440
`
`450
`
`460
`
`* Optional steps
`
`Fig. 4
`Steps taken by a customer in purchasing computing as a product
`
`
`
`Patent Application Publication Nov. 21, 2002 Sheet 6 of 6
`
`US 2002/0171678 A1
`
`
`
`»?? ºg?ç º
`
`0 || 9
`
`Y|JONA?Uuel - EOC]
`
`G -61-I
`
`
`
`US 2002/0171678 A1
`
`Nov. 21, 2002
`
`SYSTEM TO PROVIDE COMPUTING ASA
`PRODUCT USING DYNAMIC COMPUTING
`ENVIRONMENTS
`
`CROSS-REFERENCES TO RELATED
`APPLICATIONS
`0001. This application is a Continuation-in-Part Applica
`tion of U.S. patent application Ser. No. 09/861483. This
`application is also related to U.S. patent application Ser.
`Nos. 09/663252 and 09/662990, respectively entitled “User
`Interface for Dynamic Computing Environment Using a
`Allocable Resources” and “System for Configuration of
`Dynamic Computing Environment Using a Visual Inter
`face,” filed Sep. 15, 2000. Both applications and their
`disclosures are incorporated herein by reference for all
`purposes.
`
`BACKGROUND OF THE INVENTION
`0002 The present invention relates in general to infor
`mation processing, and more specifically to a System that
`facilitates dynamic allocation and de-allocation of comput
`ing resources to provide a number of Virtual computing
`platforms as a computing product.
`0003) Today, computers are increasingly being used in
`almost every area of commerce, education, entertainment
`and productivity. With the growing popularity of the Inter
`net, corporate and campus intranets, home networking and
`other networks, the trend is to use multiple computers, or
`processing platforms, to perform tasks and provide Services.
`Thus, the use of computers and computing devices have
`become commonplace in day-to-day activities of large num
`bers of users from different walks of life, including those
`with little to no knowledge of how the portability of com
`puter applications depends on Specific computing platforms.
`0004. A “platform,” includes the underlying hardware or
`Software (e.g., operating System, applications, utilities, and
`other processes) of a computer System. The platform defines
`a Standard around which a computing System can be devel
`oped. Once the platform has been defined, software devel
`opers can produce appropriate Software and users (e.g.,
`consumers) can purchase appropriate hardware and Software
`applications for the platform. Any number, type and com
`bination of hardware and Software can comprise a platform,
`or environment.
`0005 For instance, a platform configured to provide a
`search service on the Web might include a Linux server
`running Apache Web Server Software, a Solaris Server run
`ning a custom application Server Software and Oracle data
`base software, a 100 Mbps Ethernet LAN connecting the
`Servers, and the Internet.
`0006 “Computing” in connection with the platform
`refers to the activity by one or more users interacting with
`a computing environment, or platform, that includes a
`combination of hardware, Software, and network resources.
`Such interaction by a user may be in the form of using the
`environment to accomplish a task using, for example, appli
`cation Software operably compatible with the environment.
`For instance, the user may interact with a platform to edit a
`document, Send an email, execute a Search using a Search
`engine Service, or any equivalent application generally
`known in the art. Computing also includes programming or
`
`configuring the computing environment itself to modify the
`operability of the computing environment.
`0007. In traditional models of computing, users acquire
`the components of the environment, configure them as
`needed, and maintain them through a period of use. A
`disadvantage of the traditional models of computing require
`the users to purchase or lease the components individually to
`establish a platform for meeting their computing needs. For
`instance, a word processing user may purchase a personal
`computer, an operating System, and a Word processing
`application program. The user then typically installs the
`operating System on the computer and the word processor on
`the operating System. Similarly, a Search Service provider
`will purchase the hardware, Such as two server computers,
`and will then install the Software (e.g., the web server, the
`application server and the operating Systems). Thereafter the
`provider will connect the hardware to the network, connect
`the network to the Internet, and then configure the Software
`for communication according to a specific communication
`protocol (e.g., configure the web server to accept requests
`from clients and to obtain from the application Server
`responses for the said request).
`0008 Traditional computing models include running a
`Single application as a Stand-alone application on a Single
`computer as well as a “client-server” whereby a server
`computer on the Internet is used to transfer information to a
`client computer. Typically, the client computer is located at
`an end user's location, Such as a personal computer in a
`user's home. This allows large amounts of information to be
`Stored in, and accessed from, the Server computer by many
`client computers. The client computers can access the Server
`computer Simultaneously. Another approach allows a user to
`obtain portions of executable programs from the Server to
`operate an application program in functional “pieces” or
`components, on the client computer. For example, a user can
`run a word-processing program in a client-Server mode
`where the server provides only those portions of the word
`processing Software to the user's computer on an as-needed
`basis.
`0009 Traditional computing models have the drawback
`of offering relatively limited choices. That is, users of
`today's computing Services generally are required to choose
`to invest capital in Specific computing devices while fore
`going other types of devices. Consumers who engage in
`computing need to be knowledgeable of the underlying
`platform to ensure a purchased application Software will
`operate correctly.
`0010) A few traditional models have attempted to provide
`computing as Service. Although a timesharing model of
`early mainframe computers was employed to provide a
`pay-per-use pricing model, the pricing model failed to
`address other issues. For example, users are not presented
`with any choices as to how to modify or configure the
`asSociated computing environment or how to network addi
`tional resources, such as bandwidth or IPAddresses, with a
`conventional pay-per-use pricing Scheme.
`0011) A well-known computing model referred as the
`“ Application Service Provider” or ASP model eliminates the
`acquisition (and maintenance) of a computing infrastructure
`and introduces pay per use. This model removes the appli
`cation from the end-user and might employ one or more
`servers. The ASP model allows a primary server to host a
`
`
`
`US 2002/0171678 A1
`
`Nov. 21, 2002
`
`client-Server application, or to host any type of data-pro
`cessing resource Such as a database, user interface, program
`component, data object, etc. The application can appear to
`the client as being hosted by the primary Server when it is
`actually being provided by one or more other Servers. The
`other Servers can provide the application, or components, by
`having the client directly access the other Server, or having
`the client access the other Server through the primary Server.
`0012. The drawback to this model, as well as other
`Similar known models, includes an inherent inability to
`generalize and to Scale for multiple applications and com
`puting platforms. Another drawback of the ASP model is
`that it also eliminates user choices; one gets to choose the
`application, but not other components, Such as hardware or
`network. This is a limitation for users which require high
`performance and high bandwidth as opposed to other users
`Willing to forego either or both of these requirements for
`reduced costs. Yet another drawback with ASP models is that
`the applications are not easily customized for use in an ASP
`service. Still yet another drawback with ASP models is that
`often, ASP-ized applications are to be rewritten from
`Scratch. So for new applications, and for in-house applica
`tions developed by organizations without core competence
`in ASP technology, the ASP model is not an effective
`solution. Still yet another drawback with ASP models is that
`the ASP model enables the use of the Software but does not
`Support programmability.
`0013 Thus, it is desirable to provide a system that
`improves upon the prior art.
`
`SUMMARY OF THE INVENTION
`0.014. The present invention enables computing to be
`provided as a packaged product or as a remote resource to
`users. Computing is delivered as a product or a resource by
`providing dynamic computing environments to users based
`on users choices of Virtual components (hardware, Software
`or network components). A customer can choose the com
`ponents and configure a computing environment. The SyS
`tem packages this environment and makes it available for
`users to compute. A Service provider can use the System to
`create computing environments, automatically, on demand
`and thus providing computing as a remote resource to
`customers. The System monitors the usage of the customers
`and they are billed accordingly. In either case users can carry
`out their computing activity remotely using a client device
`Such as a web browser.
`0.015. In one embodiment the invention provides a system
`to provide computing as a resource to a user. The System
`includes a framework for providing a dynamic computing
`environment using allocable resources, and wherein the
`dynamic computing environment is used for computing by
`the user.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`0016 FIG. 1A is a first illustration of basic hardware
`components,
`0017 FIG. 1B is a second illustration of basic hardware
`components,
`0018 FIG. 1C is a third illustration of basic hardware
`components,
`
`0019 FIG. 2 is a block diagram illustrating an architec
`ture of a system for hosting one or more DCE's;
`0020 FIG. 3 illustrates resources used in a computing
`environment;
`0021
`FIG. 4 is a flow chart illustrating the steps for a
`user to purchase computing as a packaged product, and
`0022 FIG. 5 is a block diagram of a platform for
`providing computing as a remote resource.
`
`DETAILED DESCRIPTION OF A PREFERRED
`EMBODIMENT
`0023 Detailed descriptions of the embodiments are pro
`vided herein. It is to be understood, however, that the present
`invention may be embodied in various forms. Therefore,
`Specific details disclosed herein are not to be interpreted as
`limiting, but rather as a basis for the claims and as a
`representative basis for teaching one skilled in the art to
`employ the present invention in Virtually any appropriately
`detailed System, Structure or manner.
`0024. The present invention enables computing resources
`and the activity of computing to be provided to a user as a
`packaged product as well as a Service. A platform can be any
`combination of hardware and Software components, or other
`resources. Examples of resources include memory Space,
`processing cycles, network or bus bandwidth, IP addresses,
`timeslots, etc. Resources further include intangible assets
`Such as the legal right (e.g., license) to use hardware or
`Software. In general, a resource is any asset-including
`components, Services, rights, obligations or other principle
`or effect-that enables computing.
`0025. According to an embodiment of the present inven
`tion, a customer can purchase or lease computing resources
`without acquiring hardware or Software components and
`without managing the requisite infrastructure. The customer
`does not have to have Specialized knowledge of the under
`lying components of the infrastructure.
`0026. This is achieved by a customer specifying a con
`figuration of a computing environment for use, remotely if
`needed, using a Suitable interface. Once Specified, a System
`provides a platform that automatically create this environ
`ment dynamically to provide for computing of the present
`invention by allocating the requisite resources and make
`them available for the customer, which may limited to a
`Specific requested time period.
`0027 According to the present invention, the resources
`for Such a processing network are fully Selectable and
`allocable by a System architect. In a Specific embodiment, a
`primary company, Jareva Technologies, Inc.(E) provides pro
`prietary technology to a System architect for designing a
`System by allocating resources and Specifying how the
`resources are to be used. The System architect can be an
`individual, corporate entity, etc. The System is referred to as
`an “environment'-or more Specifically as a “computing
`environment' and the primary provider of Such an environ
`ment is referred to as an Environment Service Provider
`(ESP). A typical system architect is referred to as the
`“customer.” The primary provider obtains revenue for pro
`Viding the resources and the tools to easily Select, allocate,
`configure and run the environment.
`
`
`
`US 2002/0171678 A1
`
`Nov. 21, 2002
`
`0028 Dynamic computing environments and the process
`of creating them automatically are described in detail in
`related co-pending U.S. patent application Ser. No. 09/663,
`252; filed Sep.15, 2000, entitled “USER INTERFACE FOR
`DYNAMIC COMPUTING ENVIRONMENT USING
`ALLOCABLE RESOURCES.” The interfaces for specify
`ing the configuration of a computing environment and for
`(remote) access to a computing environment are described in
`detail in co-pending U.S. patent application Ser. No. 09/662,
`990; filed Sep. 15, 2000, entitled “SYSTEM FOR CON
`FIGURATION OF DYNAMIC COMPUTING ENVIRON
`MENTS USING A VISUAL INTERFACE.
`0029. The present invention allows fast, efficient selec
`tion and configuration of processing networks, which can
`then be accessed and managed remotely. The processing
`network is referred to as a System including “resources. A
`System resource is any hardware, Software or communica
`tion components in the System. For example, discrete hard
`ware devices include processing platforms Such as comput
`erS or processors, mobile/laptop computers, embedded
`computing devices, hand-held computers, personal digital
`assistants, point-of-Sale terminals, Smart-card devices, Stor
`age devices, data transmission and routing hardware etc.,
`without limitation. Additionally, computer peripherals Such
`as monitors, input/output devices, disk drives, manufactur
`ing devices, or any device capable of responding to, han
`dling, transferring or interacting with digital data are also
`resources. Software, or any other form of instruction, is
`executed by processors in the System and is also a type of
`resource. Finally, communication resources are also part of
`the System Such as a digital networks hardware including
`the network's configuration and topology, where control of
`the network is provided by Software and/ or hardware.
`Additionally, the network may be based on wired connec
`tions or wireleSS connections. For instance, the network
`hardware and software may be based on Bluetooth wireless
`Standards.
`0.030. For example, a processing network of a general
`consumer might include a PDA and a cell phone, each
`connected by wireleSS channels to a single personal com
`puter, which in turn is connected to an email Server at a
`remote location through the Internet. AS another example, a
`processing network might include a personal computer
`running MicroSoft Windows 98 operating System, a lap-top
`computer running Linux operating System, and another
`personal computer running Windows NT operating System
`along with router and firewall software, wherein all three
`computers are connected using a local Ethernet hub, and the
`router Software routes connections to the Internet.
`0031. The specific embodiment of the present invention
`allows fast allocation and configuration of resources Such
`that different environments can be created from the same
`resources within minutes, or even Seconds. This allows
`"time sharing” of overall resources So that a first environ
`ment can be “alive” or operative for a time period defined by
`the System architect (e.g., daily two-hour slot), followed by
`Second, third and fourth environments being instantly cre
`ated for the next four hours for three different customers, and
`So on. After a time period expires, Such environments might
`either manually or automatically de-allocate Such resources.
`Since these “computing environments' can be dynamically
`
`configured and reconfigured out of the Same Set of resources,
`these will also be referred to as “Dynamic Computing
`Environments”.
`0032. A specific embodiment allows customers to create
`a computing environment from a remotely-accessible user
`interface Such as a web page on the Internet. Thus, the
`customer can create, modify and operate the environment
`from anywhere in the World. Since the resources, in turn, can
`communicate over networks, including the Internet, this
`approach eliminates the cost of Shipping hardware and
`Software. Hardware and Software designers, programmers,
`testers or other perSonnel using an environment according to
`the present invention can, Similarly, be located anywhere in
`the World Such that labor costs are optimized.
`0033. The creation of dynamic computing environments
`(“DCE) is automatic. For example, a customer can request
`a web-site Simulator using twelve web-page Servers on a
`Microsoft(R) NT platform, two disk arrays at a specific
`bandwidth and Storage capacity, two caching Servers and
`200 clients running Netscape NavigatorTM under Microsoft
`Windows(R 2000 using Pentium IIITM processors at under
`800 MHz. Such an environment is created and destroyed,
`and even re-created automatically, without human interven
`tion each time. Unlike the conventional computing infra
`Structure, according to an embodiment of the present inven
`tion there is no need to physically couple or de-couple, each
`physical machine or resource to each other upon adding or
`removing Such resources. There is no need to Set-up Internet
`Protocol (IP) addresses or other network settings, or install
`operating Systems and associated application programs on
`one or more physical machines. All Such activities on a DCE
`can be performed automatically without user intervention.
`0034. According to the present invention, the DCE is a
`Virtual computing System including a network comprising a
`number of distinct types of machines and a network con
`necting them. For example, a System architect might require
`a DCE to include a Sun Sparc running a certain version of
`Solaris O/S coupled to a Linux machine. The present inven
`tion enables the Separation of the activity of designing a
`DCE, from the activity of actually creating the DCE.
`Designing a DCE includes choosing the Specific hardware,
`choosing the operating Systems or other Software, and
`choosing the Specific interconnections, etc. Creating a DCE
`includes allocating the resources, installing the operating
`Systems and other Software, etc. Furthermore, the present
`invention automates the process of creating the DCE. ADCE
`for which resources have not been allocated yet will also be
`referred to as a virtual computing environment. Similarly, a
`computing device (or a Subnet) that is part of a DCE also be
`referred to as a virtual computing device (or a virtual
`subnet).
`0035. The present invention provides a framework that
`enables configuring, provisioning, accessing and managing
`DCES remotely. Configuring a DCE involves choosing the
`resources and their interconnections. The present invention
`Supports operations for making Such design choices through
`appropriate programmable interfaces. The interfaces can be
`used interactively through a graphical user interface Such as
`a web page or non-interactively through a program Script.
`Provisioning a DCE involves allocation of physical
`resources required for a DCE to function. The present
`invention manages the physical resources needed for provi
`
`
`
`US 2002/0171678 A1
`
`Nov. 21, 2002
`
`Sioning DCES and Supports operations for allocating/de
`allocating these resources. Accessing a DCE involves
`accessing one or more devices and/or Sub-networks within
`the DCE. The present invention supports operations for
`accessing the components of a DCE. For instance, when a
`user needs to copy data from a specific computer to a backup
`Storage device, operations involving “read” access to the
`computer and its local Storage, “write” access to the Storage
`device, and access to the network for transmitting the data
`will be used by the present invention to meet the user's
`needs. Managing a DCE involves managing the components
`of a DCE, Such as a personal computer, a network router, etc.
`0036). In one embodiment of the present invention, a
`System provide a framework for administering DCES is
`implemented as a distributed System consisting of different
`Software programs running on different computers and net
`working hardware. Administering DCES, as described
`herein refers to the configuring, provisioning, accessing, and
`managing of dynamic computing environments. In a further
`embodiment, the present invention permits “virtual hosting
`of dynamic computing environments. AS used herein, the
`term “virtual” specifies that neither the requisite devices nor
`the network need to be physically accessible to users.
`Further, in accordance with this embodiment, the hosting
`proceSS may be initiated or terminated by users at will, from
`any geographic location. Thus the administrative framework
`allows users to remotely configure, provision, access, and
`manage DCES.
`0037. A further understanding of embodiments of the
`present invention will be gained with reference to the
`diagrams and the descriptions that follow.
`0038 FIGS. 1A, 1B, and 1C illustrate basic hardware
`components Suitable for practicing the present invention.
`FIG. 1A is an illustration of computer system 1 including
`display 3 having display screen 5. Cabinet 7 houses standard
`computer components (not shown) Such as a disk drive,
`CDROM drive, display adapter, network card, random
`access memory (RAM), central processing unit (CPU), and
`other components, Subsystems and devices. User input
`devices Such as mouse 11 having buttons 13, and keyboard
`9 are shown. Other user input devices such as a trackball,
`touch-Screen, digitizing tablet, etc. can be used. In general,
`the computer System is illustrative of but one type of
`computer System, Such as a desktop computer, Suitable for
`use with the present invention. Computers can be configured
`with many different hardware components and can be made
`in many dimensions and styles (e.g., laptop, palmtop, server,
`workstation, mainframe). Any hardware platform Suitable
`for performing the processing described herein is Suitable
`for use with the present invention.
`0039 FIG. 1B illustrates subsystems that might typically
`be found in a computer such as computer 1. In FIG. 1B,
`Subsystems within box 20 are directly interfaced to internal
`buS 22. Such Subsystems typically are contained within the
`computer system such as within cabinet 7 of FIG. 1A.
`Subsystems include input/output (I/O) controller 24, System
`Memory (or random access memory “RAM”) 26, central
`processing unit CPU 28, Display Adapter 30, Serial Port 40,
`Fixed Disk 42, Network Interface Adapter 44, which in turn
`is coupled electrically to a network. The use of bus 22 allows
`each of the Subsystems to transfer data among Subsystems
`and, most importantly, with the CPU, where the CPU might
`
`be a Sparc, an Intel CPU, a PowerPC, or the like. External
`devices can communicate with the CPU or other subsystems
`via bus 22 by interfacing with a subsystem on the bus. Thus,
`Monitor 46 connects with Display Adapter 30, a relative
`pointing device (e.g. a mouse) connects through Serial Port
`40. Some devices such as Keyboard 50 can communicate
`with the CPU by direct means without using the main data
`bus as, for example, via an interrupt controller and associ
`ated registers.
`0040. As with the external physical configuration shown
`in FIG. 1A, many Subsystem configurations are possible.
`FIG. 1B is illustrative of but one suitable configuration.
`Subsystems, components or devices other than those shown
`in FIG. 1B can be added. A suitable computer system can be
`achieved without using all of the Subsystems shown in FIG.
`1B. For example, a Standalone computer need not be
`coupled to a network So Network Interface 44 would not be
`required. Other subsystems such as a CDROM drive, graph
`ics accelerator, etc. can be included in the configuration
`without affecting the nature or functionality of the System of
`the present invention.
`0041
`FIG. 1C is a generalized diagram of a typical
`network that might be used to practice an embodiment of the
`present invention. In FIG. 1C, network system 80 includes
`Several local networks coupled to the Internet. Although
`Specific network protocols, physical layers, topologies, and
`other network properties are presented herein, the present
`invention is Suitable for use with any network.
`0042 FIG. 1C, computer USER1 is connected to
`Server 1, wherein the connection can be by a network, Such
`as Ethernet, or Asynchronous Transfer Mode, or by a
`modem, or by other means. The network provides the
`communication means, Such as physical inter-connective
`links comprising copper wire, fiber optic cable, or the like,
`for transmitting and receiving Signals. WireleSS communi
`cation means, Such as radio waves or the like, are also
`understood to provide means to transfer information from a
`Source to a destination. Hence, the communication link need
`not be a wire but can be infrared, radio wave transmission,
`etc. Server1 is coupled to the Internet. The Internet is shown
`symbolically as a collection of server routers 82. Note that
`the use of the Internet for distribution or communication of
`information is not strictly necessary to practice the present
`invention but is merely used to illustrate a specific embodi
`ment, below.
`0043. Further, the use of server computers and the des
`ignation of Server and client machines is not crucial to an
`implementation of the present invention. USER1 Computer
`can be connected directly to the Internet. Server1's connec
`tion to the Internet is typically by a relatively high band
`width transmission medium Such as a T1 line or T3 line.
`Similarly, other computerS 84 are shown utilizing a local
`network at a different location from USER1 Computer. The
`computers at 84 are coupled to the Internet via Server2.
`USER3 and Server3 represent yet a third installation. In a
`Specific embodiment, a user of the present invention oper
`ates a user interface associated with computerS 84 to at least
`Virtually configure one or more computing devices as a
`subnet. Note that the use of the term “computing device”
`includes any processing device or platform Such as a web
`television device, personal digital assistant (e.g., a Palm
`Pilot manufactured by Palm, Inc.), cellular telephone, etc.
`
`
`
`US 2002/0171678 A1
`
`Nov. 21, 2002
`
`0044 AS is well known in the art of network communi
`cations, network is configured to communicate electrical
`information, Such as a computer data Signal comprising data
`(e.g., binary data bits) Superimposed upon a radio or any
`other carrier wave. A perSon having ordinary skill in the are
`would appreciate that a carrier wave is electromagnetic
`energy propagated from a Source by radiation, optical or
`conduction waves and is Suitable for embodying an infor
`mation-bearing Signal, Such as a computer data Signal. In
`one embodiment, a carrier wave behaves, or is modulated,
`according to a network protocol, Such as or Ethernet, IEEE
`1394, TCP/IP, or any other communication protocol, so as to
`include computer data information. The carrier wave can be,
`for example, a direct current, an alternating current, or a
`pulse chain. In modulation of the carrier wave, it may be
`processed in Such a way that its amplitude, frequency, or
`Some other property varies So as to embody data for transfer.
`004.5 FIG. 2 is a block diagram illustrating the N-Tier
`architectural structure of system 200 for hosting one or more
`DCES according to the present invention. In FIG. 2, system
`200 comprises a number of tiers, namely a Switch tier 203,
`a web tier 205 usability tier 207, middleware tier 209,
`application logic tier 211 and data center tier 213. One or
`more of the tiers are implemented using Software (propri
`etary or third-party), or hardware or a combination thereof.
`Switch tier 203 includes a router 217 for routing data packets
`through the network, a firewall 218 and a load balancer 219
`for balancing the load on web tier 205. The load balancer
`219 ensures that each of the web servers in the web tier 205
`receives roughly equal amounts of load and if one of the web
`Servers go down (i.e., becomes inoperable) the traffic is
`routed to other web servers in the web tier 205.
`0.046
`Exemplary load balancer 219 uses IP packets based
`load-balancing. Of course, one having ordinary skill in the
`art would appreciate that any other load balancing Scheme
`may be used without affecting the nature of the Switch tier
`203 or any other tier. Router 217 may be a Cisco 7200
`SeriesTM router available from Cisco, Inc.(R), or alternatively,
`router 217 may be any other Suitable type routers, or an
`equivalent device