← Back to Patent Explorer
US6381682B2 Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for dynamically sharing memory in a multiprocessor system

Assignee: Hewlett Packard Development Co LP
•
Filing: 1998-06-10
•
Granted: 2002-04-30
•
Expires: 2018-06-10
📄 Original PDF 🌐 Google Patents

Abstract

Abstract Multiple instances of operating systems execute cooperatively in a single multiprocessor computer wherein all processors and resources are electrically connected together. The single physical machine with multiple physical processors and resources is subdivided by software into multiple partitions, each with the ability to run a distinct copy, or instance, of an operating system. At different times, different operating system instances may be loaded on a given partition. Resources, such as CPUs and memory, can be dynamically assigned to different partitions and used by instances of operating systems running within the machine by modifying the configuration. The partitions themselves can also be changed without rebooting the system by modifying the configuration tree. A grouping of partitions, a community, shares memory. Memory may be private to a particular partition or may be shared by partitions within a community. When a community is formed the creating instance reads a configuration tree and builds management structures for the shared memory owned by the community. A single system may have one or more communities, each with their own representation within the configuration tree.

Inventors

  • 👤 Karen L. Noel
  • 👤 Gregory H. Jordan
  • 👤 Paul K. Harter, Jr.
  • 👤 Thomas Benson

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-24 20:07
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/50; G06F9/5061; G06F9/5077; G06F2209/00; G06F2209/50; G06F2209/505

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 141 words
A computer system having a plurality of system resources including processors, main memory, and I/O circuitry and a plurality of operating system instances, the computer system comprising: an interconnection mechanism for electrically interconnecting the processors, the main memory, and the I/O circuitry so that each processor has electrical access to all of the main memory and at least some of the I/O circuitry; a software mechanism for dividing the system resources into a plurality of partitions executing the plurality of operating system instances; at least two of the plurality of partitions forming a community sharing a region of the main memory as shared memory, wherein a segment of the shared memory forms a shared memory database shared by the community; and wherein the shared memory database indicates whether an operating system instance associated with a partition within the community is active.
Claim 2
Dependent Claim 141 words
A computer system having a plurality of system resources including processors, main memory, and I/O circuitry and a plurality of operating system instances, the computer system comprising: an interconnection mechanism for electrically interconnecting the processors, the main memory, and the I/O circuitry so that each processor has electrical access to all of the main memory and at least some of the I/O circuitry; a software mechanism for dividing the system resources into a plurality of partitions executing the plurality of operating system instances; at least two of the plurality of partitions forming a community sharing a region of the main memory as shared memory, wherein a segment of the shared memory forms a shared memory database shared by the community; and wherein the shared memory database indicates whether an operating system instance associated with a partition within the community is active.
Claim 3
Dependent Claim 25 words
A computer system according to claim 1 wherein at least some of the main memory is exclusively assigned to one of the plurality of partitions.
Claim 4
Dependent Claim 21 words
A computer system according to claim 1 wherein each operating system instance within a community maps to the shared memory database.
Claim 5
Dependent Claim 55 words
A computer system according to claim 3 wherein each operating system instance examines the shared memory database as said each operating system instance maps to the shared memory database to determine whether other operating system instances are active and, if other operating system instances are active, if the other operating system instances join the community.
Claim 6
Dependent Claim 46 words
A computer system according to claim 3 wherein each operating system instance examines the shared memory database as it maps to the shared memory database to determine whether other operating system instances are active and, if no other operating system instances are active, creates the community.
Claim 7
Dependent Claim 22 words
A computer system according to claim 5 wherein an operating system instance configures the shared memory database as it creates the community.
Claim 8
Dependent Claim 44 words
A computer system according to claim 4 wherein access to the shared memory database is synchronized through use of locks which block access to the shared memory database by one operating system instance while another operating system instance is accessing the shared memory database.
Claim 9
Dependent Claim 52 words
A computer system according to claim 7 wherein each partition of the plurality of partitions comprises a console program which controls the processors in said each partition and wherein the computer system further comprises a mechanism for sending configuration information from a master console program to each of the other console programs.
Claim 10
Independent Claim 144 words
A method for constructing a computer system having a plurality of system resources including processors, main memory, and I/O circuitry and a plurality of operating system instances, the method comprising the steps of: (a) electrically interconnecting the processors, the main memory, and the I/O circuitry so that each processor has electrical access to all of the main memory and at least some of the I/O circuitry; (b) dividing the system resources into a plurality of partitions executing the plurality of operating system instances; (c) forming a community of partitions by sharing a region of the main memory as shared memory among at least two of the plurality of partitions, (d) forming a shared memory database for the community within the shared memory; and (e) including within the shared memory database an indication of whether an operating system instance associated with the community is active.
Claim 11
Independent Claim 144 words
A method for constructing a computer system having a plurality of system resources including processors, main memory, and I/O circuitry and a plurality of operating system instances, the method comprising the steps of: (a) electrically interconnecting the processors, the main memory, and the I/O circuitry so that each processor has electrical access to all of the main memory and at least some of the I/O circuitry; (b) dividing the system resources into a plurality of partitions executing the plurality of operating system instances; (c) forming a community of partitions by sharing a region of the main memory as shared memory among at least two of the plurality of partitions, (d) forming a shared memory database for the community within the shared memory; and (e) including within the shared memory database an indication of whether an operating system instance associated with the community is active.
Claim 12
Dependent Claim 29 words
A method according to claim 9 wherein step (b) comprises the step of: (b1) assigning at least some of the main memory to each of the plurality of partitions.
Claim 13
Dependent Claim 26 words
A method according to claim 9 further comprising the step of each operating system instance mapping to the shared memory database as it joins the community.
Claim 14
Dependent Claim 42 words
A method according to claim 9 further comprising the step of: (f) each operating system instance examining the shared memory database to determine whether other operating system instances are active and joining the community if the other operating system instances are active.
Claim 15
Dependent Claim 25 words
A method according to claim 12 wherein step (f) comprises the step of: (f1) creating the community if no other operating system instance is active.
Claim 16
Dependent Claim 19 words
A method according to claim 13 wherein step (f) comprises the step of: (f2) reconfiguring the shared memory database.
Claim 17
Dependent Claim 42 words
A method according to claim 12 wherein step (f) comprises the step of: (f3) locking the shared memory database to block access to the shared memory database by another operating system instance as the operating system instance examines the shared memory database.
Claim 18
Dependent Claim 156 words
A computer program product for constructing a computer system having a plurality of system resources including processors, main memory, and I/O circuitry and hardware for electrically interconnecting the processors, memory and I/O circuitry so that each processor has electrical access to all of the memory and at least some of the I/O circuitry, the computer program product comprising a computer usable medium having computer readable program code thereon including: (a) program code for dividing the system resources into a plurality of partitions configured to execute a plurality of operating system instances; (b) program code for forming a community of partitions, which shares a region of the main memory as shared memory; (c) program code for forming a shared memory database for the shared memory of the community; and (d) program code for accessing said shared memory database to provide an indication of whether an operating system instance associated with a partition within the community is active.
Claim 19
Dependent Claim 156 words
A computer program product for constructing a computer system having a plurality of system resources including processors, main memory, and I/O circuitry and hardware for electrically interconnecting the processors, memory and I/O circuitry so that each processor has electrical access to all of the memory and at least some of the I/O circuitry, the computer program product comprising a computer usable medium having computer readable program code thereon including: (a) program code for dividing the system resources into a plurality of partitions configured to execute a plurality of operating system instances; (b) program code for forming a community of partitions, which shares a region of the main memory as shared memory; (c) program code for forming a shared memory database for the shared memory of the community; and (d) program code for accessing said shared memory database to provide an indication of whether an operating system instance associated with a partition within the community is active.
Claim 20
Dependent Claim 36 words
A computer program product according to claim 16 wherein the program code for dividing the system resources into a plurality of partitions assigns at least some of the main memory exclusively to one of the partitions.
Claim 21
Dependent Claim 42 words
A computer program product according to claim 16 wherein the computer program product for constructing a computer system having a plurality of system resources further comprises program code for mapping each operating system instance within a community to the shared memory database.
Claim 22
Dependent Claim 64 words
A computer program product according to claim 18 further comprising program code for each operating system instance examining the shared memory database as the operating system instance maps to the shared memory database, determining whether other operating system instances are active, and joining the community if other operating system instances are active, or creating the community if no other operating system instances are active.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-04-29 2005-10-29 2006-04-30 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-04-29 2009-10-29 2010-04-30 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-04-29 2013-10-29 2014-04-30 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag