WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution    
United States Patent5257387   
Link to this pagehttp://www.wikipatents.com/5257387.html
Inventor(s)Richek; Martin D. (Houston, TX); Gready; Robert S. (Houston, TX); Jones, Jr.; Curtis R. (Cypress, TX)
AbstractA computerized system for dynamically and automatically configuring circuit boards to carry out functions from various manufacturers and a computer system without the user intervention. A single computer system may include, for example, a modem board, a video board, a disk controller board, and a multiple function board, each circuit board from a different manufacturer and each circuit board requires a computer resources for operation. These resources may include interrupt request (IRQ) lines, direct memory access (DMA) channels, I/O port addresses, memory address ranges and circuit board slot locations. The computerized system determines the type of slot required for each circuit board to be inserted in the computer by reading the circuit board configuration file for each board. The system will assign a circuit board to an available slot locations of the required type. Based on the information contained within the circuit board configuration files, the system attempts to allocate the common computer resources required by each circuit board based on the primary or default resource requirements set forth in each circuit board's configuration file. And, overlapping manufacturer default resource requirement may result in resource allocation conflict; and then, the system attempts to resolve conflicts by determining if the conflicting request may be assigned an alternate resource, as specified in the circuit board configuration file. The system stores the resource allocation information as part of a system configuration file which may then be used when the system is rebooted.



 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Drawing from US Patent 5257387
Computer implemented method and apparatus for dynamic and automatic

     configuration of a computer system and circuit boards including

     computer resource allocation conflict resolution - US Patent 5257387 Drawing
Computer implemented method and apparatus for dynamic and automatic configuration of a computer system and circuit boards including computer resource allocation conflict resolution
Inventor     Richek; Martin D. (Houston, TX); Gready; Robert S. (Houston, TX); Jones, Jr.; Curtis R. (Cypress, TX)
Owner/Assignee     Compaq Computer Corporation (Houston, TX)
Patent assignment
All assignments
Publication Date     October 26, 1993
Application Number     07/403,297
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     September 5, 1989
US Classification     713/600
Int'l Classification     G06F 015/76
Examiner     Lall; Parshotam S.
Assistant Examiner     Lim; Krisna
Attorney/Law Firm     Pravel, Hewitt, Kimball & Krieger
Address
Parent Case     This is a continuation-in-part of copending application Ser. No. 293,315, filed Jan. 4, 1989, which is a continuation-in-part of copending application Ser. No. 242,734, filed Sep. 9, 1988, now abandoned.
Priority Data    
USPTO Field of Search     395/700 395/275 395/700 395/800
Patent Tags     computer implemented dynamic automatic configuration computer circuit boards including computer resource allocation conflict resolution
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5161102
Griffin

Nov,1992

[0 after 0 votes]
5014193
Garner
710/10
May,1991

[0 after 0 votes]
4992976
Yonekura

Feb,1991

[0 after 0 votes]
4951248
Lynch
711/2
Aug,1990

[0 after 0 votes]
4905182
Fitch
710/301
Feb,1990

[0 after 0 votes]
4885482
Sharp
326/47
Dec,1989

[0 after 0 votes]
4803623
Klashka
710/8
Feb,1989

[0 after 0 votes]
4760553
Buckley
714/45
Jul,1988

[0 after 0 votes]
4750136
Arpin
710/10
Jun,1988

[0 after 0 votes]
4727475
Kiremidjian
710/104
Feb,1988

[0 after 0 votes]
4701878
Gunkel
710/104
Oct,1987

[0 after 0 votes]
4635192
Ceccon
710/301
Jan,1987

[0 after 0 votes]
4622633
Ceccon
713/1
Nov,1986

[0 after 0 votes]
4590557
Lillie
713/1
May,1986

[0 after 0 votes]
4590556
Berger
713/1
May,1986

[0 after 0 votes]
4589063
Shah
710/8
May,1986

[0 after 0 votes]
4562535
Vincent
710/104
Dec,1985

[0 after 0 votes]
4403303
Howes
703/27
Sep,1983

[0 after 0 votes]
4250563
Struger
710/63
Feb,1981

[0 after 0 votes]
4070704
Calle
713/100
Jan,1978

[0 after 0 votes]
4014005
Fox
710/317
Mar,1977

[0 after 0 votes]
3787816
Hauck
714/3
Jan,1974

[0 after 0 votes]
3680052
Arulpragasam
710/104
Jul,1972

[0 after 0 votes]
3675083
White
361/683
Jul,1972

[0 after 0 votes]
5056060
Fitch
710/3
Dec,1969

[0 after 0 votes]
4931923
Fitch
710/104
Dec,1969

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


We claim:

1. For use with a computer system that provides for circuit boards to be interchangeably inserted in a plurality of system slot locations, with the circuit boards having the capability to be configured to utilize one or more common computer resources, the common computer resources comprising slot locations, interrupt request lines, direct memory access channels, input/output port addresses and memory address ranges, a method for dynamically and automatically configuring the computer system and the circuit boards without user intervention comprising the computer implemented steps of:

determining based upon a configuration of each of said circuit boards the common computer resources capable of being utilized by the circuit boards to be installed in the computer system;

allocating the common computer resources to be utilized by the circuit boards based on said determination of the common computer resources capable of being utilized by the circuit boards to be installed in the computer system;

detecting conflicts as to the common computer resources allocated to the circuit boards to be installed in the computer system;

resolving conflicts as to the common computer resources to be utilized by the circuit boards to be installed in the computer system and re-allocating the common computer resources based upon said resolution of said common computer resource conflicts; and

storing configuration information as part of a system configuration for each of the circuit boards and the computer system based on said allocation of the common computer resources to be utilized by the circuit boards.

2. The method of claim 1, further including the computer implemented step of determining values for initializing selected circuit board operational features and storing the circuit board and the computer system configuration information based on said initialization values.

3. The method of claim 1, further including the computer implemented step of determining the slot location in which a circuit board is inserted and storing said circuit board configuration information based on said slot location.

4. The method of claim 1, wherein the computer implemented step of determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer implemented steps of:

identifying the circuit boards to be installed in the computer system; and

obtaining information on the common computer resources capable of being utilized by said identified circuit boards from a source of configuration information.

5. The method of claim 1, wherein the computer implemented step of determining the common computer resources includes utilizing a circuit board configuration file format for indicating the common computer resources capable of being utilized by the circuit board and for indicating the identification of the circuit board.

6. The method of claims 1, 4, or 5, wherein the computer implemented step of determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes utilizing a circuit board configuration file having various statements which follow a defined configuration file format for indicating the common computer resources capable of being utilized by the circuit boards.

7. The method of claim 4, wherein the computer implemented step of determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading said circuit board configuration information from a mass storage device.

8. The method of claim 4, wherein the computer implemented step of determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading said circuit board configuration information from a battery-powered CMOS random access memory.

9. The method of claim 4, wherein the computer implemented step of determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading a circuit board configuration file, said configuration file having various statements which follow a defined file format and creating a sorted array of said statements from all of said circuit board configuration files for all of the circuit boards to be installed in the computer system in a statement hierarchical order.

10. The method of claim 9, wherein the computer implemented step of detecting conflicts as to the common computer resources allocated to the circuit boards to be installed in the computer system further includes the computer implemented steps of:

determining whether a requested common computer resource has been previously allocated to another circuit board, thereby creating a conflict resource request;

identifying said circuit board configuration film statement containing said conflicting resource request, known as a conflicting allocation; and

identifying said circuit board configuration file statement to which the requested common computer resource was previously allocated, known as a prior allocation.

11. The method of claim 10, wherein the computer implemented step of identifying said circuit board configuration files containing said conflicting and prior allocations further includes the computer implemented steps of:

identifying said circuit board configuration file statement which references said conflicting allocation, known as a conflicting allocation parent;

identifying said circuit board configuration file statement which references said conflicting allocation parent, known as a conflicting allocation grandparent;

identifying said circuit board configuration file statement which references said prior allocation, know as a prior allocation parent; and

identifying said circuit board configuration file statement which references said prior allocation parent, known as a prior allocation grandparent.

12. The method of claim 11, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if an alternate common computer resource is specified for said conflicting allocation; and

allocating said alternate common computer resource to said conflicting allocation when an alternate common computer resource is specified.

13. The method of claim 12, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if an alternate common computer resource is specified for said conflicting allocation parent; and

allocating said alternate common computer resource to said conflicting allocation parent when an alternate common computer resource is specified.

14. The method of claim 13, wherein the computer implemented step of the computer resolving said conflicts includes the computer implemented steps of:

determining if an alternate common computer resource is specified for said conflicting allocation grandparent; and

allocating said alternate common computer resource to said conflicting allocation grandparent when an alternate common computer resource is specified.

15. The method of claim 11, wherein the computer implemented step of resolving said conflicts further includes the computer implemented steps of:

determining if an alternate common computer resource is specified for said prior allocation; and

allocating said alternate common computer resource to said prior allocation when an alternate common computer resource is specified.

16. The method of claim 15, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if an alternate common computer resource is specified for said prior allocation parent; and

allocating said alternate common computer resource to said prior allocation parent when an alternate common computer resource is specified.

17. The method of claim 16, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if an alternate common computer resource is specified for said prior allocation grandparent; and

allocating said alternate common computer resource to said prior allocation grandparent when an alternate common computer resource is specified.

18. The method of claim 11, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said conflicting allocation and said prior allocation, said prior allocation parent or said prior allocation grandparent are capable of sharing said requested common computer resource; and

allocating said requested common computer resource to said conflicting allocation when sharing is specified.

19. The method of claim 18, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said conflicting allocation parent and said prior allocation, said prior allocation parent or said prior allocation grandparent are capable of sharing said requested common computer resource; and

allocating said requested common computer resource to said conflicting allocation parent when sharing is specified.

20. The method of claim 19, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said conflicting allocation grandparent and said prior allocation, said prior allocation parent or said prior allocation grandparent are capable of sharing said requested common computer resource; and

allocating said requested common computer resource to said conflicting allocation grandparent when sharing is specified.

21. The method of claims 1 or 4, further including the computer implemented step of displaying the common computer resources capable of being utilized by the circuit boards to be installed in the computer system.

22. The method of claims 1, 2, 3, 4, or 5, wherein the computer implemented step of storing said configuration information includes storing said configuration information as a file on a mass storage device.

23. The method of claims 1, 2, 3, 4, or 5, wherein the computer implemented step of storing said configuration information includes storing said configuration information in battery-powered CMOS random access memory in the computer system and in a mass storage device file.

24. The method of claim 11, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said circuit board configuration file containing said conflicting allocation specifies said conflicting allocation is capable of being disabled; and

disabling said conflicting allocation when disabling is specified.

25. The method of claim 24, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said circuit board configuration file containing said conflicting allocation parent specifies said conflicting allocation parent is capable of being disabled; and

disabling said conflicting allocation parent when disabling is specified.

26. The method of claim 25, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said circuit board configuration file containing said conflicting allocation grandparent specifies said conflicting allocation grandparent is capable of being disabled; and

disabling said conflicting allocation grandparent when disabling is specified.

27. The method of claim 11, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said circuit board configuration file containing said prior allocation specifies said prior allocation is capable of being disabled; and

disabling said prior allocation when disabling is specified.

28. The method of claim 27, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said circuit board configuration file containing said prior allocation parent specifies said prior allocation parent is capable of being disabled; and

disabling said prior allocation parent when disabling is specified.

29. The method of claim 28, wherein the computer implemented step of resolving said conflicts includes the computer implemented steps of:

determining if said circuit board configuration file containing said prior allocation grandparent specifies said prior allocation grandparent is capable of being disabled; and

disabling said conflicting allocation grandparent when disabling is specified.

30. The method of claim 11, wherein the computer implemented step of resolving said conflicts further includes not allocating the common computer resources to be utilized by said conflicting allocation, thereby deactivating the circuit board corresponding to said circuit board configuration file which includes said conflicting allocation.

31. The method of claim 30, further including the computer implemented step of displaying the deactivation of circuit boards installed in the computer system.

32. The method of claim 1, further including the computer implemented step of system displaying the common computer resources allocated to the circuit boards to be installed in the computer system.

33. An apparatus for dynamically and automatically configuring a computer system without user intervention that provides for circuit boards to be interchangeably inserted in a plurality of computer system slot locations, with the circuit boards having the capability to be configured to utilize one or more common computer resources, the common computer resources comprising slot locations, interrupt request lines, direct memory access channels, input/output port addresses and memory address ranges, comprising:

means for determining based upon a configuration of each of said circuit boards the common computer resources capable of being utilized by the circuit boards to be installed in the computer system;

means for allocating the common computer resources capable of being utilized by the circuit boards to be installed in the computer system based on said determination of the common computer resources capable of being utilized by the circuit boards;

means for detecting conflicts as to the common computer resources allocated to the circuit boards to be installed in the computer system;

means for resolving said conflicts as to the common computer resources allocated to the circuit boards to be installed in the computer system and re-allocating the common computer resources to the circuit boards based upon said resolution of said common computer resource conflicts; and

means for storing configuration information as part of a system configuration for each of the circuit boards to be installed in the computer system based on said allocation of the common computer resources.

34. The apparatus of claim 33, further including means for displaying the common computer resources allocated to the circuit boards installed in the computer system.

35. The apparatus of claim 33, including means for determining values for initializing selected circuit board operational features and storing said configuration information based on said initialization values.

36. The apparatus of claim 33, including means for determining the computer system slot location in which a circuit board is inserted and storing said configuration information based on said slot location.

37. The apparatus of claim 33, wherein said means for determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes:

means for identifying the circuit boards to be installed in the computer system; and

means for obtaining information on the common computer resources capable of being utilized by the identified circuit boards from a source of configuration information.

38. The apparatus of claim 33, wherein said means for determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes means for utilizing a circuit board configuration file format for indicating the common computer resources capable of being utilized by the circuit board and means for indicating the identification of the circuit board.

39. The apparatus of claim 37, wherein said means for determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading said circuit board configuration information from a mass storage device.

40. The apparatus of claim 37, wherein said means for determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading said circuit board configuration information from a battery-powered CMOS random access memory.

41. The apparatus of claims 33, 37, or 38, wherein said means for determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading said circuit board configuration file, said configuration file having various statements which follow a defined configuration file format for indicating the common computer resources capable of being utilized by the circuit boards.

42. The apparatus of claims 33, 35, 36, 37 or 38, wherein said means for storing said configuration information includes storing said configuration information as a file on a mass storage device.

43. The apparatus of claims 33, 35, 36, 37 or 38, wherein said means for storing said configuration information in battery-powered CMOS random access memory in the computer system and in a mass storage device file.

44. The apparatus of claim 37, wherein said means for determining the common computer resources capable of being utilized by the circuit boards to be installed in the computer system includes the computer reading a circuit board configuration file, said configuration file having various statements which follow a defined file format and the computer system creating a sorted array of said statements from all of said circuit board configuration files for all of the circuit boards to be installed in the computer system in a statement hierarchical order.

45. The apparatus of claim 44, wherein said means for detecting said conflicts as to the common computer resources allocated to the circuit boards to be installed in the computer system further includes:

means for determining whether the requested common computer resource has been previously allocated to another circuit board, thereby creating a conflicting resource request;

means for identifying said circuit board configuration file containing said conflicting resource request, known as a conflicting allocation; and

means for identifying said circuit board configuration file to which the common computer resource to be utilized was previously allocated, known as a prior allocation.

46. The apparatus of claim 45, wherein said means for identifying said circuit board configuration files containing said conflicting and said prior allocations further includes:

means for identifying said circuit board configuration file statement which references said conflicting allocation, known as a conflicting allocation parent;

means for identifying said circuit board configuration file statement which references said conflicting allocation parent, known as a conflicting allocation grandparent;

means for identifying said circuit board configuration file statement which references said prior allocation, known as a prior allocation parent; and

means for identifying said circuit board configuration file statement which references said prior allocation parent, known as a prior allocation grandparent.

47. The apparatus of claim 46, wherein said means for resolving said conflicts includes:

means for determining if an alternate common computer resource is specified for said conflicting allocation; and

means for allocating said alternate common computer resource to said conflicting allocation when an alternate common computer resource is specified.

48. The apparatus of claim 47, wherein said means for resolving said conflicts includes:

means for determining if an alternate common computer resource is specified for said conflicting allocation parent; and

means for allocating said alternate common computer resource to said conflicting allocation parent when an alternate common computer resource is specified.

49. The apparatus of claim 48, wherein said means for resolving said conflicts includes:

means for determining if an alternate common computer resource is specified for said conflicting allocation grandparent; and

means for allocating said alternate common computer resource to said conflicting allocation grandparent when an alternate common computer resource is specified.

50. The apparatus of claim 46, wherein said means for resolving said conflicts further includes:

means for determining if an alternate common computer resource is specified for said prior allocation; and

means for allocating said alternate common computer resource to said prior allocation when an alternate common computer resource is specified.

51. The apparatus of claim 50, wherein said means for resolving said conflicts includes:

means for determining if an alternate common computer resource is specified for said prior allocation parent; and

means for allocating said alternate common computer resource to said prior allocation parent when an alternate common computer resource is specified.

52. The apparatus of claim 51, wherein said means for resolving said conflicts includes:

means for determining if an alternate common computer resource is specified for said prior allocation grandparent; and

means for allocating said alternate common computer resource to said prior allocation grandparent when an alternate common computer resource is specified.

53. The apparatus of claim 46, wherein said means for resolving said conflicts includes:

means for determining if said conflicting allocation and said prior allocation, said prior allocation parent or said prior allocation grandparent are capable of sharing said requested common computer resource; and

means for allocating said requested common computer resource to said conflicting allocation when sharing is specified.

54. The apparatus of claim 53, wherein said means for resolving said conflicts includes:

means for determining if said conflicting allocation parent and said prior allocation, said prior allocation parent or said prior allocation grandparent are capable of sharing said requested common computer resource; and

means for allocating said requested common computer resource to said conflicting allocation parent when sharing is specified.

55. The apparatus of claim 54, wherein said means for resolving said conflicts includes:

means for determining if said conflicting allocation grandparent and said prior allocation, said prior allocation parent or said prior allocation grandparent are capable of sharing said requested common compute