IP Library Granted Patent US 8,255,349
Granted Patent B2
US 8,255,349 · App. 12/136,522 · Granted Aug 28, 2012

Automated design of computer system architecture

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,255,349
App. No.
12/136,522
Granted
Aug 28, 2012
Kind
B2
Abstract

In certain embodiments, a method includes accessing a number of target values. Each target value may be associated with a respective design criterion of a computer system. The computer system may be associated with one or more domains. Each domain may be associated with a respective function of the computer system. The method may include determining, based at least in part on a first set of one or more of the number of target values, a respective implementation pattern for each of the one or more domains. The one or more determined implementation patterns may represent a logical architecture for the computer system. The method may include determining a physical architecture for the computer system by determining a respective solution stack for each of the one or more determined implementation patterns based at least in part on a second set of one or more of the plurality of target values.

Claims (78)

1. A system, comprising:

a memory operable to store a plurality of target values, each target value associated with a respective design criterion of a computer system to be designed, the computer system associated with one or more domains, each domain associated with a respective function of the computer system; and

a processor operable to:

determine, based at least in part on a first set of one or more of the plurality of target values, a respective implementation pattern for each of the one or more domains, the one or more determined implementation patterns representing a logical architecture for the computer system;

determine a physical architecture for the computer system by determining a respective solution stack for each of the one or more determined implementation patterns based at least in part on a second set of one or more of the plurality of target values;

map a first set of implementation patterns to a first domain;

map a second set of implementation patterns to a second domain;

for the first domain, determine a particular implementation pattern from the first set of implementation patterns; and

for the second domain, determine a particular implementation pattern from the second set of implementation patterns.

2. The system of claim 1 , wherein the one or more domains comprise at least one of:

a data management domain;

an online transactional domain;

a business intelligence domain; and

an application integration domain.

3. The system of claim 1 , wherein at least one design criterion comprises at least one of:

platform type:

number of users;

latency;

authentication type;

frequency of changes to the computer system; and

number of other systems to be integrated with the computer system.

4. The system of claim 1 , wherein:

each of the one or more domains is associated with a finite set of implementation patterns; and

each implementation pattern in the finite set comprises a logical architectural option that conforms to one or more rules for computer system design.

5. The system of claim 1 , wherein each implementation pattern is generic with respect to hardware and software products in the computer system.

6. The system of claim 1 , wherein the one or more determined implementation patterns represent a logical architecture for the computer system, the logical architecture being agnostic with respect to vendor-specific hardware products in the computer system.

7. The system of claim 1 , wherein at least one implementation pattern comprises at least one of:

an n-tier framework;

a client-server framework; and

a mainframe system.

8. The system of claim 1 , wherein determining, based at least in part on a first set of one or more of the plurality of target values, the respective implementation pattern for a domain comprises:

inputting a first target value, from the first set of one or more of the plurality of target values, to a first state module to determine an intermediate state, the first target value associated with a first design criterion; and

inputting a second target value, from the first set of one or more of the plurality of target values, to a second state module to determine an updated state, the second target value associated with a second design criterion, the determination of the updated state based at least in part on the second target value and the intermediate state.

9. The system of claim 1 , wherein:

each implementation pattern is associated with a respective set of solution stacks; and

each solution stack is vendor-specific with respect to hardware in the computer system.

10. The system of claim 1 , wherein:

each implementation pattern is associated with a respective set of solution stacks;

a first solution stack for an implementation pattern specifies hardware components from a first vendor;

a second solution stack for the implementation pattern specifies hardware components from a second vendor; and

a third solution stack for the implementation pattern specifies at least one hardware component from the first vendor and at least one hardware component from the second vendor.

11. The system of claim 1 , wherein determining the respective solution stack comprises:

inputting a first target value, from the second set of one or more of the plurality of target values, to a first state module to determine an intermediate state, the first target value associated with a first design criterion; and

inputting a second target value, from the second set of one or more of the plurality of target values, to a second state module to determine an updated state, the second target value associated with a second design criterion, the determination of the updated state based at least in part on the second target value and the intermediate state.

12. A method, comprising:

accessing a plurality of target values, each target value associated with a respective design criterion of a computer system to be designed, the computer system associated with one or more domains, each domain associated with a respective function of the computer system;

determining, based at least in part on a first set of one or more of the plurality of target values, a respective implementation pattern for each of the one or more domains, the one or more determined implementation patterns representing a logical architecture for the computer system;

determining a physical architecture for the computer system by determining a respective solution stack for each of the one or more determined implementation patterns based at least in part on a second set of one or more of the plurality of target values;

mapping a first set of implementation patterns to a first domain;

mapping a second set of implementation patterns to a second domain;

for the first domain, determining a particular implementation pattern from the first set of implementation patterns; and

for the second domain, determining a particular implementation pattern from the second set of implementation patterns.

13. The method of claim 12 , wherein at least one design criterion comprises at least one of:

platform type:

number of users;

latency;

authentication type;

frequency of changes to the computer system; and

number of other systems to be integrated with the computer system.

14. The method of claim 12 , wherein:

each of the one or more domains is associated with a finite set of implementation patterns; and

each implementation pattern in the finite set comprises a logical architectural option that conforms to one or more rules for computer system design.

15. The method of claim 12 , wherein each implementation pattern is generic with respect to hardware and software products in the computer system.

16. The method of claim 12 , wherein determining, based at least in part on a first set of one or more of the plurality of target values, a respective implementation pattern for a domain comprises:

inputting a first target value, from the first set of one or more of the plurality of target values, to a first state module to determine an intermediate state, the first target value associated with a first design criterion; and

inputting a second target value, from the first set of one or more of the plurality of target values, to a second state module to determine an updated state, the second target value associated with a second design criterion, the determination of the updated state based at least in part on the second target value and the intermediate state.

17. The method of claim 12 , wherein:

each implementation pattern is associated with a respective set of solution stacks; and

each solution stack is vendor-specific with respect to hardware in the computer system.

18. The method of claim 12 , wherein the first set of one or more of the plurality of target values is different from the second set of one or more of the plurality of target values.

19. Logic embodied in computer-readable media, the logic operable when executed by a processor to:

access a plurality of target values, each target value associated with a respective design criterion of a computer system to be designed, the computer system associated with one or more domains, each domain associated with a respective function of the computer system;

determine, based at least in part on a first set of one or more of the plurality of target values, a respective implementation pattern for each of the one or more domains, the one or more determined implementation patterns representing a logical architecture for the computer system;

determine a physical architecture for the computer system by determining a respective solution stack for each of the one or more determined implementation patterns based at least in part on a second set of one or more of the plurality of target values;

map a first set of implementation patterns to a first domain;

map a second set of implementation patterns to a second domain;

for the first domain, determine a particular implementation pattern from the first set of implementation patterns; and

for the second domain, determine a particular implementation pattern from the second set of implementation patterns.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 25, 2009
From: ELECTRONIC DATA SYSTEMS, LLC
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 022449/0267 →
CHANGE OF NAME Recorded Mar 24, 2009
From: ELECTRONIC DATA SYSTEMS CORPORATION
To: ELECTRONIC DATA SYSTEMS, LLC
Reel/Frame 022460/0948 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2008
From: REEVES, JOHN D.
To: ELECTRONIC DATA SYSTEMS CORPORATION
Reel/Frame 021129/0078 →