Pre-Grant Publication Number: 20070118712
Collaborate on the process of community review for this application. Posting will not be forwarded to the USPTO.
Flagging a post as an ACTION ITEM signals further research. Flagging SPAM and ABUSE helps to manage discussion.
Placing double brackets around a reference to a claim or prior art will create a hyperlink to the original
ex. [[claim 1]] and [[prior art 2]].

Discussion (15)
Show without Noise
0 days left







<claim-text> A method for allocating memory freed by applications in a computer system having an operating system (O/S), said method comprising: <claim-text>a) designating a status of said one or more freed memory units previously associated with an application as available for reuse; </claim-text><claim-text>b) organizing one or more freed memory units having said available for reuse status into one or more free memory pools, wherein freed memory units in a pool are directly allocated to an application requiring backing physical memory store without the O/S deleting data in the freed memory units. </claim-text></claim-text>
This was published in the ASPLOS 2000 conference (November 12-15 2000). A PDF may be found at http://www.cs.umass.edu/~emery/hoard/asplos2000.pdf Section 5: runs on computer system having operating system. Abstract: designates memory units. Figure 1 & Section 3.2: maintains per-thread heaps. Figure 2: data not deleted.
Therefore, this reference anticipates this claim. more...
<claim-text> The method as claimed in <claim-ref idref='CLM-00001'>claim 1</claim-ref>, further comprising maintaining information about said application and said free memory pools, said information used to directly allocate said freed memory units to an application. </claim-text>
Figure 1 & Section 3.2 shows how heaps (groups of memory blocks) are associated with threads, which in turn on UNIX systems (as noted in Section 5) are associated with applications.
Therefore, Prior Art Reference 45 anticipates this claim. more...
<claim-text> The method as claimed in <claim-ref idref='CLM-00023'>claim 23</claim-ref>, wherein if it is determined that a memory page frame is not available for reuse in said free memory pool: <claim-text>determining if a memory page frame is available in a system wide free memory pool, and if a page frame is available in a system wide free memory pool, </claim-text><claim-text>deleting data included in said memory page frame; and, </claim-text><claim-text>allocating memory page frames from a system wide free memory pool for said process. </claim-text></claim-text>
The Java Virtual Machine (JVM) Garbage Collector maintains free lists on a per thread basis and also VM-wide. Allocations are supplied from the per thread pool first so avoid lock contention, and failing that the thread can dip into the global (to the VM) memory pool. The step from this prior art to the claim in question seems trivial. more...
<claim-text> A method for allocating memory freed by applications in a computer system having an operating system (O/S), said method comprising: <claim-text>a) designating a status of said one or more freed memory units previously associated with an application as available for reuse; </claim-text><claim-text>b) organizing one or more freed memory units having said available for reuse status into one or more free memory pools, wherein freed memory units in a pool are directly allocated to an application requiring backing physical memory store without the O/S deleting data in the freed memory units. </claim-text></claim-text>
The point of this invention is that in a multi-process system, you ordinarily can't do what you would have done in DOS without posing a security risk. So instead, you usually make "malloc" work just like "calloc." This invention, however, finds a middle ground by splitting the "free pool" up into a global free pool and local "per-process" free pools: For the global free pool, malloc works like calloc, but if a process can be allocated memory out of its own pool, you can do malloc the old-fashioned way without worrying about security.
Unfortunately, Claim 1 does not distinguish between different kinds of free pools, so as written, it simply reads on the old-fashioned DOS-style malloc. more...