| US 7,500,080 B2 | ||
| Facilitating non-contiguous allocation of a large object within a java heap | ||
| Phani Gopal V. Achanta, Austin, Tex. (US); Robert Tod Dimpsey, Austin, Tex. (US); and Harshal Hemendra Shah, Freemont, Calif. (US) | ||
| Assigned to International Business Machines Corporation, Armonk, N.Y. (US) | ||
| Filed on Feb. 14, 2008, as Appl. No. 12/31,395. | ||
| Application 12/031395 is a continuation of application No. 10/948276, filed on Sep. 23, 2004, granted, now 7,360,053. | ||
| Prior Publication US 2008/0133867 A1, Jun. 05, 2008 | ||
| This patent is subject to a terminal disclaimer. | ||
| Int. Cl. G06F 12/00 (2006.01); G06F 13/00 (2006.01); G06F 13/28 (2006.01) | ||
| U.S. Cl. 711—171 | 12 Claims |

| 1. A system for facilitating efficient allocation of large objects in a memory heap, comprising:
a server system communicatively connected to a network;
a broker layer running within said server system for detecting a large object passing through said server system, wherein
a size required for allocation of said large object within a memory heap exceeds a maximum contiguous free space within said
memory heap, wherein said broker layer operates on top of a virtual manager layer that manages allocations within said memory
heap and for passing said large object between a plurality of components of said broker layer wherein at least one of said
plurality of components requires additional allocation space for said large object, wherein said plurality of components view
said large object as a single data entity and said virtual manager layer views said large object as said plurality of pieces;
and
a chunking controller within said broker layer for describing said large object by an underlying array of said large object
divided into a plurality of pieces of a size not exceeding said maximum contiguous free space, requesting, by said broker
layer, allocation by said virtual manager layer of each of said plurality of pieces within said memory heap, detecting an
allocation request for said large object by one of a plurality of components receiving said large object within said broker
layer to said virtual manager layer, and adjusting said underlying array to reflect said allocation request for said large
object.
|