Patents by Inventor Blake A. Jones
Blake A. Jones has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10402378Abstract: A method for executing an executable file. The method includes executing instructions in the executable file by a first process, receiving a write request from a second process to write to the executable file, generating an anonymous file from the executable file in response to the write request, executing the anonymous file by the first process, and accessing the executable file by the second process.Type: GrantFiled: August 29, 2016Date of Patent: September 3, 2019Assignee: Sun Microsystems, Inc.Inventors: John E. Zolnowsky, George R. Cameron, Blake A. Jones
-
Publication number: 20160371298Abstract: A method for executing an executable file. The method includes executing instructions in the executable file by a first process, receiving a write request from a second process to write to the executable file, generating an anonymous file from the executable file in response to the write request, executing the anonymous file by the first process, and accessing the executable file by the second process.Type: ApplicationFiled: August 29, 2016Publication date: December 22, 2016Inventors: John E. Zolnowsky, George R. Cameron, Blake A. Jones
-
Patent number: 9367439Abstract: In general, in one aspect, the invention relates to a system that includes memory and a prediction subsystem. The memory includes a first memgroup and a second memgroup, wherein the first memgroup comprises a first physical page and a second physical page, wherein the first physical page is a first subtype, and wherein the second physical page is a second subtype. The prediction subsystem is configured to obtain a status value indicating an amount of freed physical pages on the memory, store the status value in a sample buffer comprising a plurality of previous status values, determine, using the status value and the plurality of previous status values, a deficiency subtype state for the first subtype based on an anticipated need for the first subtype on the memory, and instruct, based on the determination, an allocation subsystem to coalesce the second physical page to the first subtype.Type: GrantFiled: April 30, 2012Date of Patent: June 14, 2016Assignee: Oracle International CorporationInventors: Eric E. Lowe, Blake A. Jones, Jonathan William Adams
-
Patent number: 9183126Abstract: A system that includes a memory, a tilelet data structure entry, a first tile freelist, and an allocation subsystem. The memory includes a first tilelet on a first tile. The tilelet data structure entry includes a first tilelet preferred pagesize assigned to a first value. The first tile freelist for the first tile includes a first tile in-bounds page freelist, and a first tile out-of-bounds page freelist. The allocation subsystem is configured to detect that a first physical page is freed, store, in the first tile in-bounds page freelist, a first page data structure, detect that a second physical page is freed, store, in the first tile out-of-bounds page freelist, a second page data structure, and coalesce the memory using the second page and at least one of the physical pages associated with the plurality of out-of-bounds page data structures into a third physical page.Type: GrantFiled: April 30, 2012Date of Patent: November 10, 2015Assignee: Oracle International CorporationInventors: Blake A. Jones, Jonathan William Adams
-
Patent number: 9052903Abstract: A system including memory and a resource controller. The memory includes a first memgroup and a second memgroup, wherein the first memgroup comprises a first physical page mapped to a virtual page, and wherein the second memgroup comprises a second physical page. The resource controller is configured to receive a request to stop the first memgroup, instruct a memory power management subsystem to mark the first memgroup as stopped in response to receiving the request to stop the first memgroup, wherein no free pages are allocated from the first memgroup after the first memgroup is marked as stopped, remap the virtual page to the second physical page in response to the marking the first memgroup as stopped, and reduce power to the first memgroup in response to a determination that the first physical page is not mapped to the virtual page.Type: GrantFiled: April 30, 2012Date of Patent: June 9, 2015Assignee: Oracle International CorporationInventors: Blake A. Jones, Julia D. Harper, Jonathan William Adams
-
Patent number: 8930894Abstract: A method for executing an executable file. The method includes executing instructions in the executable file by a first process, receiving a write request from a second process to write to the executable file, generating an anonymous file from the executable file in response to the write request, executing the anonymous file by the first process, and accessing the executable file by the second process.Type: GrantFiled: October 8, 2008Date of Patent: January 6, 2015Assignee: Oracle America, Inc.Inventors: John E. Zolnowsky, George R. Cameron, Blake A. Jones
-
Publication number: 20130290752Abstract: A system including memory and a resource controller. The memory includes a first memgroup and a second memgroup, wherein the first memgroup comprises a first physical page mapped to a virtual page, and wherein the second memgroup comprises a second physical page. The resource controller is configured to receive a request to stop the first memgroup, instruct a memory power management subsystem to mark the first memgroup as stopped in response to receiving the request to stop the first memgroup, wherein no free pages are allocated from the first memgroup after the first memgroup is marked as stopped, remap the virtual page to the second physical page in response to the marking the first memgroup as stopped, and reduce power to the first memgroup in response to a determination that the first physical page is not mapped to the virtual page.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Blake A. Jones, Julia D. Harper, Jonathan William Adams
-
Publication number: 20130290669Abstract: In general, in one aspect, the invention relates to a system that includes memory and a prediction subsystem. The memory includes a first memgroup and a second memgroup, wherein the first memgroup comprises a first physical page and a second physical page, wherein the first physical page is a first subtype, and wherein the second physical page is a second subtype. The prediction subsystem is configured to obtain a status value indicating an amount of freed physical pages on the memory, store the status value in a sample buffer comprising a plurality of previous status values, determine, using the status value and the plurality of previous status values, a deficiency subtype state for the first subtype based on an anticipated need for the first subtype on the memory, and instruct, based on the determination, an allocation subsystem to coalesce the second physical page to the first subtype.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Eric E. Lowe, Blake A. Jones, Jonathan William Adams
-
Publication number: 20130290670Abstract: A system that includes a memory, a tilelet data structure entry, a first tile freelist, and an allocation subsystem. The memory includes a first tilelet on a first tile. The tilelet data structure entry includes a first tilelet preferred pagesize assigned to a first value. The first tile freelist for the first tile includes a first tile in-bounds page freelist, and a first tile out-of-bounds page freelist. The allocation subsystem is configured to detect that a first physical page is freed, store, in the first tile in-bounds page freelist, a first page data structure, detect that a second physical page is freed, store, in the first tile out-of-bounds page freelist, a second page data structure, and coalesce the memory using the second page and at least one of the physical pages associated with the plurality of out-of-bounds page data structures into a third physical page.Type: ApplicationFiled: April 30, 2012Publication date: October 31, 2013Applicant: ORACLE INTERNATIONAL CORPORATIONInventors: Blake A. Jones, Jonathan William Adams
-
Patent number: 8274521Abstract: A method involving receiving an indication of a requirement to allocate at least one page for a process, where pages are associated with cache colors; generating a selection bitmap by performing a logical operation of a system available colors bitmap and a process bitmap, where the system available colors bitmap and the process bitmap each include one bit corresponding to each cache color, where each bit of the system available colors bitmap indicates whether a number of pages associated with a corresponding cache color that are available to be allocated is above a minimum threshold, and where each bit of the process bitmap indicates whether any pages associated with the corresponding cache color have been recently allocated for the process. The method also includes selecting, using the selection bitmap, a cache color; and allocating a page for the process, wherein the allocated page is associated with the selected cache color.Type: GrantFiled: May 8, 2009Date of Patent: September 25, 2012Assignee: Oracle America, Inc.Inventors: George R. Cameron, Blake A. Jones, Kit M. Chow
-
Patent number: 8127295Abstract: A device, system, and method are directed towards managing limited resources in a computer system with multiple processing units. Each processing unit has a corresponding bucket. Each thread executing on a processing unit has a corresponding wallet. Buckets and wallets contain credits corresponding to units of the limited resource. When a request for the resource is made, mechanisms of the invention attempt to fulfill the request by looking in a local wallet, a local bucket, or non-local buckets. In a resource shortage situation, credits may be moved to a primary bucket. A load balancing mechanism may distribute credits among buckets, or move credits from wallets to buckets.Type: GrantFiled: August 3, 2007Date of Patent: February 28, 2012Assignee: Oracle America, Inc.Inventors: Blake A. Jones, George R. Cameron, Eric E. Lowe
-
Patent number: 8095772Abstract: A method for loading shared libraries. The method includes receiving an indication of a requirement to load the shared library into the virtual memory and determining that the shared library is a candidate for using shared large pages. Further, the method includes, in response to the determination, storing a text section of the shared library in a shared large page of the virtual memory and storing a data section of the shared library in a page of the virtual memory, where the virtual memory is mapped to a physical memory of the computer, where, within an address space of the virtual memory, a starting address of the text section of the shared library is separated from a starting address of the data section of the shared library by a predefined distance, and where the predefined distance is larger than a size of the large page.Type: GrantFiled: May 8, 2009Date of Patent: January 10, 2012Assignee: Oracle America, Inc.Inventors: George R. Cameron, Blake A. Jones, Rodrick I. Evans, Michael E. Corcoran
-
Patent number: 8095770Abstract: The invention relates to mapping data to a process. A method of the invention includes receiving a request to copy a parent process, where the parent process is associated with a first virtual memory address space that includes a first mapping to a page of a file loaded into physical memory. The method includes creating a child process (of the parent process) associated with a second virtual memory address space. The method includes determining that a fork count is greater than a fork count threshold and a COW count to fork count ratio is greater than a threshold ratio. The fork count is associated with the file and the COW count is associated with the page. The method includes creating a copy of the page in physical memory and further includes creating a second mapping from the second virtual memory address space to the copy of the page.Type: GrantFiled: May 8, 2009Date of Patent: January 10, 2012Assignee: Oracle America Inc.Inventors: George R. Cameron, Blake A. Jones, Stan J. Studzinski
-
Patent number: 7873801Abstract: Managing physical memory for one or more processes with both a minimum and a maximum amount of physical memory. Memory sets are created, each specifying a number of credits. The total number of credits specified by all memory sets are equal to the total number of pages in physical memory. One or more processes are bound to a memory set. All of the processes bound to a memory set are collectively referred to as the workload of the memory set. Each physical page is accounted for to ensure that each workload can utilize at least the number of physical pages equaling the number of credits in its memory set. Additionally, a workload is permitted to use physical pages that are being explicitly shared by workloads of other memory sets. Accordingly, a workload with both a minimum and a maximum amount of physical memory is specified by its memory set.Type: GrantFiled: February 1, 2007Date of Patent: January 18, 2011Assignee: Oracle America, Inc.Inventors: Blake A. Jones, George R. Cameron, Eric E. Lowe
-
Publication number: 20100287347Abstract: The invention relates to mapping data to a process. A method of the invention includes receiving a request to copy a parent process, where the parent process is associated with a first virtual memory address space that includes a first mapping to a page of a file loaded into physical memory. The method includes creating a child process (of the parent process) associated with a second virtual memory address space. The method includes determining that a fork count is greater than a fork count threshold and a COW count to fork count ratio is greater than a threshold ratio. The fork count is associated with the file and the COW count is associated with the page. The method includes creating a copy of the page in physical memory and further includes creating a second mapping from the second virtual memory address space to the copy of the page.Type: ApplicationFiled: May 8, 2009Publication date: November 11, 2010Applicant: SUN MICROSYSTEMS, INC.Inventors: George R. Cameron, Blake A. Jones, Stan J. Studzinski
-
Publication number: 20100283793Abstract: A method involving receiving an indication of a requirement to allocate at least one page for a process, where pages are associated with cache colors; generating a selection bitmap by performing a logical operation of a system available colors bitmap and a process bitmap, where the system available colors bitmap and the process bitmap each include one bit corresponding to each cache color, where each bit of the system available colors bitmap indicates whether a number of pages associated with a corresponding cache color that are available to be allocated is above a minimum threshold, and where each bit of the process bitmap indicates whether any pages associated with the corresponding cache color have been recently allocated for the process. The method also includes selecting, using the selection bitmap, a cache color; and allocating a page for the process, wherein the allocated page is associated with the selected cache color.Type: ApplicationFiled: May 8, 2009Publication date: November 11, 2010Applicant: Sun Microsystems, Inc.Inventors: George R. Cameron, Blake A. Jones, Kit M. Chow
-
Publication number: 20100287356Abstract: A method for loading shared libraries. The method includes receiving an indication of a requirement to load the shared library into the virtual memory and determining that the shared library is a candidate for using shared large pages. Further, the method includes, in response to the determination, storing a text section of the shared library in a shared large page of the virtual memory and storing a data section of the shared library in a page of the virtual memory, where the virtual memory is mapped to a physical memory of the computer, where, within an address space of the virtual memory, a starting address of the text section of the shared library is separated from a starting address of the data section of the shared library by a predefined distance, and where the predefined distance is larger than a size of the large page.Type: ApplicationFiled: May 8, 2009Publication date: November 11, 2010Applicant: Sun Microsystems, Inc.Inventors: George R. Cameron, Blake A. Jones, Rodrick I. Evans, Michael E. Corcoran
-
Publication number: 20100088496Abstract: A method for executing an executable file. The method includes executing instructions in the executable file by a first process, receiving a write request from a second process to write to the executable file, generating an anonymous file from the executable file in response to the write request, executing the anonymous file by the first process, and accessing the executable file by the second process.Type: ApplicationFiled: October 8, 2008Publication date: April 8, 2010Applicant: Sun Microsystems, Inc.Inventors: John E. Zolnowsky, George R. Cameron, Blake A. Jones
-
Publication number: 20080189502Abstract: Managing physical memory for one or more processes with both a minimum and a maximum amount of physical memory. Memory sets are created, each specifying a number of credits. The total number of credits specified by all memory sets are equal to the total number of pages in physical memory. One or more processes are bound to a memory set. All of the processes bound to a memory set are collectively referred to as the workload of the memory set. Each physical page is accounted for to ensure that each workload can utilize at least the number of physical pages equaling the number of credits in its memory set. Additionally, a workload is permitted to use physical pages that are being explicitly shared by workloads of other memory sets. Accordingly, a workload with both a minimum and a maximum amount of physical memory is specified by its memory set.Type: ApplicationFiled: February 1, 2007Publication date: August 7, 2008Applicant: Sun Microsystems, Inc.Inventors: Blake A. Jones, George R. Cameron, Eric E. Lowe