Sign In to Follow Application
View All Documents & Correspondence

System And Method For Analyzing And Designing Clusters

Abstract: A system for designing clusters is provided. The system comprises a repository module and a business logic module. The repository module comprises a questions and options repository and a hardware repository. The questions and options repository comprises an updatable set of questions and corresponding options. The hardware repository comprises data corresponding to available hardware for designing clusters. The business logic module comprises a display controller module for controlling presentation of the questions and corresponding options to a user, a capacity planning module for computing hardware requirements for designing one or more clusters by using the options selected by the user in response to the presented questions, and a hardware selector module for selecting at least one set of hardware from the hardware repository based on the computed hardware requirements, where each selected set of hardware represents a designed cluster. The system further comprises a user interface being controlled by the display controller module for presenting the questions and corresponding options and receiving one or more selected options from the user. The system farther comprises a report generator module for generating at least one report for conveying one or more designed cluster. The system further comprises a graphical representation module for displaying cluster designs in a graphical format.

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
08 October 2007
Publication Number
37/2009
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

INFOSYS TECHNOLOGIES LIMITED
ELECTRONICS CITY, HOSUR ROAD, BANGALORE-560 100, INDIA.

Inventors

1. PANKAJ MISRA
HOUSE NO. 385, BLOCK E, SHYAM NAGAR, KANPUR-208013, INDIA.
2. VINODH KUMAR G
114, BALAJI NAGAR, MACHUVADI, PUDUKKOTTAI-622004, TAMILNADU, INDIA.
3. GAURAV KUMAR DOULANI
S/O B.L. DOULANI, C/O NRM BRICKS AMLA TOLA, KATIHAR, BIHAR-854105, INDIA.

Specification

System and Method for Analyzing and Designing Clusters
Field of Invention
[0001] The present invention relates generally to the field of computer network design and more specifically to analysis and design of linux clusters.
Background of the Invention
[0002] The advent and progression of information technology has resulted in proliferation of data. Various tasks such as, financial management, audio-video processing, optical character processing, and other data and process intensive activities result in generation of enormous amount of data. Organizations working with such large volumes of data face several challenges such as inadequate data processing capabilities and insufficient bandwidth for data transfer.
[0003] The need to transfer data quickly and efficiently across a geographically distributed network has resulted in the use of high performance computer clusters. A computer cluster is a group of two or more computers that work together using additional network and software technology to form a single virtual or logical server. In high performance computer clusters large amounts of data is accessed and processed at faster speeds in comparison to conventional computing systems. Clusters are usually deployed to improve performance and availability over that provided by a single computer. Clusters are also typically more cost-effective than single computers of comparable speed or availability.
[0004] Linux based computing systems are increasingly being used to perform tasks of high volume and complexity due to flexibility, computing scalability, high performance and cost effectiveness. Clusters of Linux based computing systems are being used in various organizations dealing with large volumes of data and requiring high computing speeds. Linux clusters may also be used to run complex computing tasks such as financial portfolio simulations and risk analysis. Such clusters may not be fresh procurements.

Existing/unused hardware, desktops or even vendor specific hardware may be utilized to setup Linux clusters without adversely affecting performance and computing speeds.
[0005] Even though there are several advantages associated with clustered computer systems, designing such clusters remains a challenging task. One of the challenges faced by cluster designers is configuring a cluster by using an optimal set/number of devices so that the cluster configuration meets desired requirements. For example, a cluster designer may require a cluster to include a specified set of devices, such as a particular number of servers, load balancers, firewalls and a particular storage capacity. Additional design requirements may include a specified cost of the cluster, a specified amount of power required to run the cluster, and the amount of floor space required for housing the cluster. Hence, designing a cluster manually by meeting all the specified requirements is a challenging and time consuming task requiring skills of a domain expert.
[0006] Further, designing a cluster for an organization requires knowledge of all available hardware and the current and future computing requirements of the organization. Designing a cluster comprises of collecting large volumes of information and configuring the cluster based on all the information collected. Hence, designing clusters manually may require highly skilled resources. Further, such manual design may not be time efficient and may also be prone to human errors.
[0007] Consequently, there is a need for an efficient system and method for designing clusters. There is also a need for a cluster designer system which designs clusters based on knowledge of all available hardware and accessories and the current and future computing requirements of an organization. Further, there is a need for system and method for designing clusters that is time efficient and does not require the expertise of a domain specialist. Furthermore, there is need for a cluster designer system that is flexible and permits upgrades in terms of addition of new equipment and changes in cluster topology without violating any predefined design criteria.

Summary of the Invention
[0008] A system for designing clusters is provided. The system comprises a repository module and a business logic module. The repository module comprises a questions and options repository and a hardware repository. The questions and options repository comprises an updatable set of questions and corresponding options. The hardware repository comprises data corresponding to available hardware for designing clusters. The business logic module comprises a display controller module for controlling presentation of the questions and corresponding options to a user, a capacity planning module for computing hardware requirements for designing one or more clusters by using the options selected by the user in response to the presented questions , and a hardware selector module for selecting at least one set of hardware from the hardware repository based on the computed hardware requirements, where each selected set of hardware represents a designed cluster. In an embodiment, the system further comprises a user interface being controlled by the display controller module for presenting the questions and corresponding options and receiving one or more selected options from the user. In another embodiment, the system further comprises a report generator module for generating at least one report for conveying one or more designed cluster. In yet another embodiment, the system further comprises a graphical representation module for displaying cluster designs in a graphical format.
[0009] In an embodiment of the present invention, the presented questions are directed towards obtaining information regarding characteristics, functions and performance of hardware available with the user; characteristics, functions and performance of a desired cluster; and funds available for designing the desired cluster.
[0010] In an embodiment of the present invention, the hardware repository is updated at predefined intervals of time and the data corresponding to available hardware comprises a price and a vendor name associated with each hardware. In another embodiment, the hardware requirements comprise information such as a required memory capacity, a required processing speed, and a required amount of investment for designing a cluster.

[0011] In an embodiment of the present invention, the display controller presents the questions in a predefined logical order based on the options selected by the user. In an embodiment, hardware requirements are computed using predetermined formulae and each designed cluster comprises one or more of the hardware selected from the hardware repository and hardware available with the user. In an embodiment of the present invention, a designed cluster is a linux cluster.
[0012] A method for designing clusters is also provided. The method comprises the steps of presenting a first question and corresponding options to a user for gathering information for designing one or more clusters; prompting the user to select one or more options from among the presented options; presenting a next question and corresponding options to the user to obtain information for designing one or more clusters, based on the one or more options selected by the user corresponding to a previous question; prompting the user to select one or more options from among the presented options; determining if required information for designing one or more clusters has been obtained; repeating the steps stated above, if the required information has not been obtained; computing hardware requirements for designing one or more clusters by using the obtained information and predetermined formulae; and selecting at least one set of hardware based on the computed hardware requirements for designing one or more clusters; each selected set of hardware representing a designed cluster. In an embodiment of the present invention, the method further provides a step of generating a report conveying one or more designed clusters and a step of presenting a pictorial representation of one or more designed clusters.
[0013] In an embodiment of the present invention, the step of determining if required information for designing one or more clusters has been obtained comprises determining if a predefined number of questions have been responded to by the user.
[0014] In an embodiment of the present invention, the step of computing hardware requirements for designing one or more clusters by using the obtained information and

predetermined formulae further comprises computing information such as a required memory capacity, a required processing speed, and a required amount of investment for designing a cluster.
[0015] In an embodiment of the present invention, the step of selecting at least one set of hardware based on the computed hardware requirements for designing one or more clusters further comprises selecting a set of hardware from the hardware available with the user that corresponds to the computed hardware requirement.
[0016] In an embodiment of the present invention, step of generating a report conveying one or more designed clusters further comprises presenting information relating to characteristics, functions and performance of one or more designed clusters and in one embodiment the designed cluster is a linux cluster.
Brief Description of the drawings
[0017] The present invention is described by way of embodiments illustrated in the accompanying drawings wherein:
[0018] FIG. 1 illustrates a block diagram of a Linux Cluster Designer (LCD).
[0019] FIG. 2 is an exemplary screenshot of a question and options repository.
[0020] FIG. 3 is an exemplary screenshot of a question and corresponding exemplary options presented to a user.
[0021] FIG. 4 is a screenshot of a cost estimation report.
[0022] FIG. 5 is a screenshot of a cluster design output by the LCD.
[0023] FIG. 6 illustrates a method of designing a cluster.

Detailed description of the invention
[0024] A system, a method and a computer program product for configuring a plurality of computer networks are described herein. The present disclosure is more specifically directed towards analysis and design of linux clusters. An exemplary network in which the present invention may be implemented is a network of an organization comprising a plurality of departments, wherein each department has its own legacy network set-up. A network set-up in a first department may be different from a network set-up in a second department. Further, a first network set-up may have reached a threshold in terms of utilization of resources whereas a second network set-up may not have sufficient load or may not be appropriately utilizing resources. Such differences may arise due to departments following different parameters for network design in order to meet requirements. The performance of such an exemplary network increases upon implementation of linux clusters in the network.
[0025] The system, method and computer program product disclosed provide multiple cluster designs for high and scalable computing performance by utilizing existing hardware in a network or by introducing new hardware into the network. Hence, the present invention enables a user belonging to a first department to use the existing hardware of a second department to set up linux clusters for utilization of available resources. In addition, a cluster may also be designed by using new hardware components in accordance with the present invention, if the user is aware of the current and future network requirements.
[0026] The disclosure is provided in order to enable a person having ordinary skill in the art to practice the invention. Exemplary embodiments herein are provided only for illustrative purposes and various modifications will be readily apparent to persons skilled in the art. The general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the invention. The terminology and phraseology used herein are for the purpose of describing exemplary embodiments and should not be considered limiting. Thus, the present invention is to be

accorded the widest scope encompassing numerous alternatives, modifications and equivalents consistent with the principles and features disclosed herein. For clarity, details relating to technical material that is known in the fields related to the invention have been briefly described or omitted so as not to unnecessarily obscure the present invention.
[0027] The present invention would now be discussed in context of embodiments as illustrated in the accompanying drawings.
[0028] FIG. 1 illustrates a block diagram of a Linux Cluster Designer (LCD). LCD 100 comprises a user interface module 102, a business logic module 104, a repository module 106, a report generator module 108, and a graphical representation module 110. The business logic module 104 comprises a display controller module 112, a capacity planning module 114, and a hardware selector module 116. The repository module 106 comprises a questions and options repository 118 and a hardware repository 120.
[0029] The user interface module 102 acts as an interface between a user and the business logic module 104. The user interface module 102 receives an input from the user and transfers it to the display controller module 112 for processing. In an embodiment, an input from the user may be obtained by prompting the user to click on an icon.The display controller module 112 controls the user interface module 102 with respect to the presentation of questions and information to the user for designing clusters.
[0030] The display controller module 112 dynamically displays a set of questions via the user interface module 102 in order to collect information from the user relating to an existing network, future network requirements for expanding the existing network, funds available for expansion etc. The display controller module 112 fetches questions and options from the question and option repository 118. Once a first question is presented to the user and a response is received, a second question is presented to the user based on the user's response to the first question. Subsequent questions are then presented based on the user's responses to the previous questions.

[0031] The questions and options repository 118 stores all the questions and options that may be presented to a user for obtaining information that is required for designing a cluster. In various embodiments of the present invention, the order of questions presented to a user is stored in the form of a logical flow of instructions in the business logic module 104. In another embodiment of the present invention, the logical order of questions to be presented to the user may reside in the business logic module 104. In yet another embodiment, the questions and options are stored in a logical order which is predefined in the question and options repository 118. The display controller module 112 fetches the questions and options from any one of the modules mentioned above based on the stored or predefined logical order and the options selected by the user.
[0032] In various embodiments of the present invention, the questions and options stored in question and options repository 118 are arranged in a tabular format. FIG.2 is an exemplary screenshot of the questions and options repository 118. The screenshot 200 comprises a table 202 which further comprises rows 204, 206, 208, 210, 212 and columns 216, 218, 220, 222, 224 and 226. Row 206 and column 216 comprises the question "Does your application run programs which are executed many times with different sets of data?". Options "Yes" and "No" are stored at row 206 and columns 218 and 220 respectively. In an exemplary embodiment, the logical order of questions is such that if the user selects the option "Yes", the question "What are the languages used in your application?" stored at row 210 and column 216 is presented to the user along with the options "C/C++", "SHELL SC" , "PERL" , "JAVA" , and "ALL OF THE ABOVE" stored at row 210 and columns 218, 220, 222, 224, and 226 respectively. If the user selects the option "No", a different question i.e. "Does your application run programs which involve simulations or image rendering?" stored at row 208 and column 216 is presented to the user along with the options "Yes" and "No" stored at row 208 and columns 218 and 220 respectively. Similarly, based on the options selected by the user and the predefined logical order, further questions are presented to the user for obtaining required information for designing a cluster.

[0033] In an embodiment of the present invention, questions may also be presented to the user for ascertaining the existing state of the network. For example, questions such as "Enter the CPU clock rate in the current machine." and "Enter the number of processors in your current machine" may be presented to the user for analyzing the current state of the network in order to ascertain if any hardware already available with the user may be used for designing a cluster.
[0034] In another embodiment of the present invention, the LCD obtains business requirement information from the user and analyzes the information for designing a cluster. The questions presented to the user for obtaining business requirement information may be such as "What is the concurrent number of users to be serviced ?" or "What is the percentage growth in number of users year on year ?".
[0035] In yet another embodiment, the LCD 100 presents questions to the user for identifying a type of cluster design. For example, questions such as "Does your application use a lot of inter process communication?" and "Which parallelized process is used in running your application?" may be presented to the user for identifying the type of cluster design required.
[0036] Examples of the various question presented by LCD 100 to a user for obtaining information required for designing a cluster comprise :
-"Does your application run programs which are executed many times with
different sets of data?"
-"Does your application run programs which involve simulations or image
rendering?"
-"Are you running any web based application?"
-"Do you service a large amount of bandwidth?"
-"What type of HTML pages do you use?"
-"Which web server do you use?"
-"What is the total number of users serviced?"
-"Enter the size of the data in web/application server (GB)."

In various embodiments of the present invention, the minimum and maximum number of questions that are required to be responded by a user for obtaining the required information for designing a cluster is predefined.
[0037] FIG. 3 is an exemplary screenshot of a question and corresponding options as presented to a user. The screenshot 300 comprises a first section 302, a second section 304 and a third section 306. The first section 302, second section 304 and third section 306 render the question, options and an explanatory note respectively from the repository module 106 (FIG. 1). The explanatory note assists the user in understanding the question being presented. The explanatory note may also present a set of recommended options to the user. For example, the question presented to a user in the first section 302 is "Is your current application able to handle the load or is it maxing out? " and the explanatory note in the third section 306 reads as "Does your current systems infrastructure comfortably cater to all the requirements of your organization, or do you face recurring systems infrastructure problems". The second section 304 comprises various options such as "Yes", "No" and "Don't Know" that may be selected by the user in response to the question presented in the first section 302.
[0038] Referring to FIG. 1, in an embodiment of the present invention, the presented questions and obtained responses during a user session may be stored in the business logic module 104, so that the user may revisit the stored session and edit his responses at a later point of time in order to arrive at new cluster designs. In another embodiment, a user may save his incomplete session on a local hard drive as a file with extension "led" and may retrieve it at a later time for completion. In various embodiments of the present invention, the questions presented and responses received from a user may be stored in a buffer for retrieval at a later time.
[0039] In various embodiments of the present invention, the hardware repository module 120 stores hardware made available by different vendors which may be used in designing clusters along with the cost associated with each hardware. In an embodiment of the

present invention, the hardware repository 120 is an updatable repository which stores all the existing and latest hardware made available by different vendors and is updated at predefined intervals of time. In an embodiment of the present invention, the repository module 106 is a spreadsheet, however, various databases such as Oracle, SQL Server, MS Access, and FoxPro may also be used to implement the repository module 106.

The parameter 'Hardware Type' represents the name of the hardware, 'RAM' (random access memory) represents the capacity of RAM in gigabytes available with each type of hardware, 'Network' represents the maximum bandwidth which is supported by each type of hardware in megabits, 'Storage Supported' represents the type of storage columns supported by each hardware type such as Symmetrix, Clarion etc., 'CPU' (central processing unit) represents the number of CPUs available with each type of hardware, 'Price' represents the cost associated with each type of hardware, and 'Processor Speed' represents the speed of the processor available with each type of hardware.
[0041] Referring to FIG. 1, once a predefined number of questions have been responded to by a user the capacity planning module 114 is invoked. The capacity planning module 114 uses the options selected by the user in response to the presented questions and

V
predetermined formulae to calculate hardware requirements for designing a cluster. For example, parameters such as number of processors required, amount of RAM required, and number of switches required are calculated by the capacity planning module 114.
[0042] In an exemplary embodiment, amount of RAM required for a cluster is calculated as:
RAM required = ((dDynRequests * 32) + ((dNoHPS) * 8)) + 1024
where 'dDynRequests' represents number of dynamic requests to be handled and 'dNoHPS' represents number of hits per second.
[0043] In another exemplary embodiment, number of processors required for a cluster is calculated as:
Nonodes= (1.125 * iNoProcessors * iCurCPUClock * iExpTrans)/(iCurTrans*iTarClock)
where 'iNoProcessors5 represents number of processors in a current network setup, 'iCurCPUClock' represents current processor speed, 'iExpTrans' represents number of expected transactions in the designed cluster, 'iCurTrans' represents number of current transactions, 'iTarClock' represents expected processor speed, and 'Nonodes' represents the number of processors required in the designed cluster.
[0044] The hardware requirements calculated by the capacity planning module 114 are transferred to the hardware selector module 116. The hardware selector module 116 selects various hardware available from the hardware repository module 120 based on the inputs provided by the capacity planning module 114. For example, "4 nodes of HP Proliant DL 560 with 4 GB RAM" and "4 nodes of Dell Poweredge 2850 with 4 GB RAM" may be sets of hardware selected by the hardware selector module 116 based on hardware requirements values calculated by the capacity planning module 114.

[0045] Each selected hardware represents a recommended cluster design. Examples of cluster designs comprise High Availability Cluster (HAC), High Performance Computing (HPC) cluster, and Beowulf cluster.
[0046] The report generator module 108 presents one or more sets of hardware selected by the hardware selector module 116, which corresponds to one or more recommended cluster designs, in the form of a report. The report generated by the report generator module 108 is rendered to a user via the user interface module 102.
[0047] In various embodiments of the present invention, the report generator module 108 generates a report conveying one or more designed clusters. The report is divided into various sections wherein each section of the report displays data relating to dynamic scalability, hardware requirements, infrastructure requirements, investment proposals, and pictorial representations of the designed cluster.
[0048] FIG. 4 is a screenshot of a cost estimation report generated by the report generator module 108 (FIG.l). The screenshot 400 comprises a dynamic scalability section 402, a hardware requirements section 404, an infrastructure requirements section 406, an investment proposal section 408, and a pictorial representation section 410. The pictorial representation section 410 comprise a picture button 416. The screenshot 400 further comprises multiple option tabs 412, 414, etc., and a start again button 418.
[0049] The dynamic scalability section 402 is generated based upon the user's response to the questions related to the current network and future network requirements and the expected percentage growth of the user's network requirements. In an embodiment, the dynamic scalability section 402 provides information such as an estimated number of nodes, estimated amount of RAM required and an estimated bandwidth requirement for a recommended HAC cluster design. For example, the dynamic scalability section 402 recommends four nodes, 4 GB of RAM, and a bandwidth of 10,000,000 bits for a recommended HAC cluster.

[0050] The hardware requirements section 404 provides details of hardware such as the servers required for setting up a designed cluster. For example, the hardware requirements section 404 recommends a HP Proliant DL 560 server for the recommended HAC cluster.
[0051] The infrastructure requirements section 406 presents details of the infrastructural components such as CPU, RAM, switches, and storage required to meet the business requirements specified by the user. For example, the infrastructure requirements section 406 recommends 4 GB of RAM, one switch, and a symmetrix storage system supported by the HP Proliant DL 560 server for the recommended HAC cluster.
[0052] The investment proposal section 408 provides the user with an estimation of the investment required to acquire hardware for setting up a new designed cluster or to upgrade an existing one. For example, the investment proposal section 408 displays the total cost of ownership of the HAC cluster as 69464 USD (United States Dollars). The investment required differs based on the different clusters designed by LCD.
[0053] The picture button 416 when clicked displays one or more designed clusters in a pictorial format.
[0054] In an embodiment of the present invention, the report generator module 108 (FIG. 1) may generate multiple individual reports corresponding to each section such as a dynamic scalability report, a hardware requirement report, an infrastructure requirement report, an investment proposal report, and a pictorial representation report.
[0055] In an embodiment of the present invention, the values of each of the parameters illustrated in each report are calculated by the capacity planning module 114 (FIG. 1) using predefined formulae which are well known in the art. In another embodiment, the values of each of the parameters illustrated in each report are calculated by the report generator module 108 (FIG. 1) by using predefined formulae well known in the art. The start again button 418 when clicked restarts the LCD 100 of the present invention

enabling the user to redesign clusters by providing a different set of responses to the presented questions. The multiple options tab 412, 414, etc., display reports corresponding to the multiple clusters designed by the LCD 100.
[0056] In an embodiment, the report generator module 108 (FIG.l) generates reports in Java SWING format. In various embodiments of the present invention, the reports may be generated in other formats including but not limited to HTML, XML, Applet, Microsoft Word, Microsoft Excel, and Microsoft Power Point.
[0057] Referring to FIG.l, the graphical representation module 108 displays the various components of each designed cluster in a graphical format. In an embodiment of the present invention, graphical representation module 108 is enabled by pressing the picture button 416 (FIG. 4) which is present on each generated report. FIG. 5 is a screenshot depicting a recommended cluster in a pictorial format generated by the graphical representation module 108.
[0058] FIG. 6 illustrates a method of designing a cluster. At step 602 an LCD application is started. The step of starting the application comprises prompting a user to click on the LCD application file icon or prompting the user to start the application by keying in a path of an application executable file at command prompt.
[0059] At step 604 the user is presented with a first question for determining parameters for designing a cluster. In an embodiment, various questions are presented to the user in order to obtain information from the user relating to an existing network, future network requirements for expanding the existing network, funds available for expansion etc.
[0060] At step 606 the user is prompted to select an option from the multiple options available corresponding to the first question. The step of selection comprises prompting the user to select radio buttons, or checkboxes, or select an option from drop down menus. In an embodiment, a text box may be presented to the user to enter text in

response to the question. The entered text is then compared with allowable formats and values before being accepted as a selected option.
[0061] At step 608 the user is presented with a next question for determining parameters for designing a cluster based on the option selected for a previous question. For example, a second question is presented based on the option selected by the user corresponding to the first question. At step 610 the user is prompted to select an option from multiple options available for the next question presented to the user.
[0062] At step 612 a check is performed to ensure whether required information for designing a cluster has been obtained from the user. In an embodiment of the present invention, a predefined set of questions is presented to the user in a predefined logical order, wherein a subsequent question is presented based on a response provided by the user to a previous question and the predefined logical order. A check for ensuring if required information for designing a cluster has been obtained comprises checking if a predefined number of questions have been responded to by the user. If the required information for designing a cluster has not been obtained, steps 608 to step 612 are repeated.
[0063] If required information for designing a cluster has been obtained, then at step 614 computation of hardware requirements for designing a cluster is performed. In an embodiment, the options selected by the user in response to the presented questions and predetermined formulae are used to calculate hardware requirements for designing a cluster. For example, parameters such as number of processors required, amount of RAM required, and number of switches required are calculated.
[0064] At step 616 selection of hardware for designing a cluster is performed. In an embodiment, the step of selection comprises selecting hardware components from among a set of pre-selected hardware components made available by various vendors or available in the current network and lying unutilized which may be used for designing

clusters. In an embodiment, one or more sets of hardware components selected at step 616 represent one or more clusters designed by the LCD application.
[0065] At step 618 a report is generated in order to present the designed clusters to the user. In an exemplary report, information such as a type of recommended cluster, an estimated number of nodes required, an estimated amount of RAM required, an estimated bandwidth required, type of server recommended is provided.
[0066] At step 620 one or more recommended clusters are presented to the user in a pictorial format. In an embodiment, step 620 comprises representing the one or more designed cluster in the form of pictorial representations of the constituent hardware components.
[0067] The present invention may be implemented in numerous ways including as a system, a method, or a computer readable medium such as a computer readable storage medium or a computer network wherein programming instructions are communicated from a remote location.
[0068] The system, method and computer program product for configuring clusters as described herein is particularly well suited for linux cluster designs, however, may be applied to various networks in other domains by performing minor modifications as would be apparent to a person of skill in the art.
[0069] While the exemplary embodiments of the present invention are described and illustrated herein, it will be appreciated that they are merely illustrative. It will be understood by those skilled in the art that various modifications in form and detail may be made therein without departing from or offending the spirit and scope of the invention as defined by the appended claims.

We claim:
1. A system for designing clusters, the system comprising:
a repository module comprising:
a questions and options repository comprising an updatable set of questions and corresponding options; and
a hardware repository comprising data corresponding to available hardware for designing clusters;
a business logic module comprising:
a display controller module for controlling presentation of the questions and corresponding options to a user;
a capacity planning module for computing hardware requirements for designing one or more clusters by using the options selected by the user in response to the presented questions; and
a hardware selector module for selecting at least one set of hardware from the hardware repository based on the computed hardware requirements; each selected set of hardware representing a designed cluster.
2. The system as claim in claim 1 further comprising a user interface being controlled by the display controller module for presenting the questions and corresponding options and receiving one or more selected options from the user.
3. The system as claimed in claim 1 further comprising a report generator module for generating at least one report for conveying one or more designed cluster.

The system as claimed in claim 1, further comprising a graphical representation module for displaying cluster designs in graphical format.
The system as claimed in claim 1, wherein the repository module is a spreadsheet or a database.
The system as claimed in claim 1, wherein the presented questions are directed towards obtaining information regarding characteristics, functions and performance of hardware available with the user, characteristics, functions and performance of a desired cluster and funds available for designing the desired cluster.
The system as claimed in claim 1, wherein the hardware repository is updated at predefined intervals of time.
The system as claimed in claim 1, wherein the data corresponding to available hardware comprises a price and a vendor name associated with each hardware.
The system as claimed in claim 1, wherein the display controller presents the questions in a predefined logical order based on the options selected by the user.
The system as claimed in claim 1, wherein the hardware requirements comprise information such as a required memory capacity, a required processing speed, and a required amount of investment for designing a cluster.
The system as claimed in claim 1, wherein hardware requirements are computed by using predefined formulae.

The system as claimed in claim 1, wherein each designed cluster comprises one or more of the hardware selected from the hardware repository and hardware available with the user.
The system as claimed in claim 1, wherein a designed cluster is a linux cluster.
The system as claimed in claim 1, wherein the report comprises information relating to characteristics, functions and performance of one or more designed clusters.
The system as claimed in claim 1, wherein the report further comprises information relating to investment required for total cost of ownership of a designed cluster.
A method for designing clusters, the method comprising the steps of:
(i) presenting a first question and corresponding options to a user for gathering information for designing one or more clusters;
(ii) prompting the user to select one or more options from among the presented options;
(iii) presenting a next question and corresponding options to the user to obtain information for designing one or more clusters, based on the one or more options selected by the user corresponding to a previous question;
(iv) prompting the user to select one or more options from among the presented options;
(v) determining if required information for designing one or more clusters has been obtained;

(vi) repeating steps (iii) to (iv) if the required information has not been obtained;
(vii) computing hardware requirements for designing one or more clusters by using the obtained information and predetermined formulae, if the required information has been obtained;
(viii) selecting at least one set of hardware based on the computed hardware requirements for designing one or more clusters; each selected set of hardware representing a designed cluster.
The method of claim 16 further comprising the step of generating a report conveying one or more designed clusters.
The method of claim 16 further comprising the step of presenting a pictorial representation of one or more designed clusters.
The method of claim 16 further comprising the step of temporarily storing a user session for retrieval at a later time.
The method of claim 16, wherein the step of determining if required information has been obtained comprises determining if a predefined number of questions have been responded to by the user.
The method of claim 16, wherein the step of computing hardware requirement comprises computing information such as a required memory capacity, a required processing speed, and a required amount of investment for designing a cluster.

22. The method of claim 16, wherein the step of selecting at least one set of hardware
comprises selecting a set of hardware from the hardware available with the user
that corresponds to the computed hardware requirement.
23. The method of claim 16, wherein the step of generating a report comprises
presenting information relating to characteristics, functions and performance of
one or more designed clusters.
24. The method of claim 16, wherein a designed cluster is a linux cluster.

Documents

Application Documents

# Name Date
1 2263-CHE-2007 FORM -18 19-08-2011.pdf 2011-08-19
1 2263-CHE-2007-AbandonedLetter.pdf 2018-07-02
2 2263-CHE-2007-FER.pdf 2017-12-22
2 2263-CHE-2007 CORRESPONDENCE OTHERS 19-08-2011.pdf 2011-08-19
3 2263-che-2007-form 5.pdf 2011-09-04
3 2263-che-2007-abstract.pdf 2011-09-04
4 2263-che-2007-form 3.pdf 2011-09-04
4 2263-che-2007-claims.pdf 2011-09-04
5 2263-che-2007-correspondnece-others.pdf 2011-09-04
5 2263-che-2007-form 1.pdf 2011-09-04
6 2263-che-2007-description(complete).pdf 2011-09-04
6 2263-che-2007-drawings.pdf 2011-09-04
7 2263-che-2007-description(complete).pdf 2011-09-04
7 2263-che-2007-drawings.pdf 2011-09-04
8 2263-che-2007-correspondnece-others.pdf 2011-09-04
8 2263-che-2007-form 1.pdf 2011-09-04
9 2263-che-2007-claims.pdf 2011-09-04
9 2263-che-2007-form 3.pdf 2011-09-04
10 2263-che-2007-form 5.pdf 2011-09-04
10 2263-che-2007-abstract.pdf 2011-09-04
11 2263-CHE-2007-FER.pdf 2017-12-22
11 2263-CHE-2007 CORRESPONDENCE OTHERS 19-08-2011.pdf 2011-08-19
12 2263-CHE-2007-AbandonedLetter.pdf 2018-07-02
12 2263-CHE-2007 FORM -18 19-08-2011.pdf 2011-08-19

Search Strategy

1 searchstrategy_22-11-2017.pdf