Patents by Inventor Damien P. Sorresso
Damien P. Sorresso 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).
-
Publication number: 20230393835Abstract: Aspects and features include maintaining at least one auxiliary disk image on a computing device. Certain code that is aligned with the base operating system of the computing device resides in and is executed from the auxiliary disk image. In one example, a computing device receives an update asset and uses it to patch the auxiliary disk image. The computing device executes the updated code from the patched disk image without rebooting or otherwise restarting the base operating system. The existing auxiliary disk image may be replaced with the patched disk image in response to a reboot or some other event, or while executing the code in the patched disk image from memory.Type: ApplicationFiled: September 23, 2022Publication date: December 7, 2023Applicant: Apple Inc.Inventors: Damien P. Sorresso, Eric B. Tamura, Ezekiel T. Runyon
-
Publication number: 20230099057Abstract: Enclosed herein are techniques for securely executing an application. A method can be implemented by an operating system of a computing device, where the computing device includes a file system volume that includes a first data structure, and the method includes the steps of (1) receiving a request to launch the application, where the request references an application archive file that includes a second data structure that: (i) defines an organization of a plurality of files associated with the application, and (ii) includes cryptographic information for verifying the plurality of files and the second data structure; (2) in response to receiving the request: determining whether the second data structure, the plurality of files, or both, are valid using the cryptographic information; and (3) in response to determining that the second data structure, the plurality of files, or both, are valid: associating the second data structure with the first data structure.Type: ApplicationFiled: May 19, 2022Publication date: March 30, 2023Inventors: Geoffrey McCORMACK, Damien P. SORRESSO, Eric B. TAMURA, Robert J. KENDALL-KUPPE
-
Patent number: 11385816Abstract: Representative embodiments set forth herein disclose techniques for implementing improved links between paths of one or more file systems. According to some embodiments, techniques are disclosed for establishing a system volume and a data volume within a container. According to other embodiments, techniques are disclosed for establishing a link from a source path of a system volume within a container to a target path of a data volume within the container. According to yet other embodiments, techniques are disclosed for determining whether to allow a file system operation on a data volume of a container based on at least determining whether a target path is associated with a reference to a source path.Type: GrantFiled: May 20, 2020Date of Patent: July 12, 2022Inventors: Vivek Verma, Damien P. Sorresso, Pavel Sokolov, Pierre-Olivier J. Martel, Eric B. Tamura, Yoni Baron
-
Publication number: 20210400019Abstract: The subject disclosure provides systems and methods for application-specific network data filtering. Application-specific network data filtering may be performed by a sandboxed process prior to providing the network data to an application to which the network data is directed. Any malicious or otherwise potentially harmful data that is included in the network data may be removed by the application-specific network data filter or may be allowed to corrupt the application specific network data filtering operations within the sandbox, thereby preventing the malicious or harmful data from affecting the application or other portions of an electronic device. In one or more implementations, a first process such as an application-specific network data filtering process may request allocation of memory for the first process from second process, such as an application, that is separate from a memory manager of the electronic device.Type: ApplicationFiled: June 21, 2021Publication date: December 23, 2021Inventors: Ivan KRSTIC, Damien P. SORRESSO, David P REMAHL, Elliot C. LISKIN, Justin S. HOGG, Kevin J. LINDEMAN, Lucia E. BALLARD, Nicholas J. CIRCOSTA, Richard J. COOPER, Ryan A. WILLIAMS, Steven C. VITTITOE, Zachariah J. RIGGLE, Patrick R. METCALFE, Andrew T. WHITEHEAD
-
Patent number: 11023587Abstract: In an embodiment, a system supports an external trust cache. That is, the trust cache is separate from the kernel image on the non-volatile storage in the system. During boot, the boot code may read the trust cache from the storage and write it to the working memory of the system (e.g. the Random Access Memory (RAM) forming the memory system in the system). The boot code may also validate the kernel image and write it to the memory system. The boot code may program a region register in the processor to define a region in the working memory that encompasses the kernel image and the trust cache, to protect the region from modification/tampering.Type: GrantFiled: September 29, 2018Date of Patent: June 1, 2021Assignee: Apple Inc.Inventors: Julien Oster, Eric S. Harmon, Mitchell K. Allison, Pierre-Olivier J. Martel, Damien P. Sorresso, Dallas B. De Atley, Ryan P. Nielsen
-
Publication number: 20200379662Abstract: Representative embodiments set forth herein disclose techniques for implementing improved links between paths of one or more file systems. According to some embodiments, techniques are disclosed for establishing a system volume and a data volume within a container. According to other embodiments, techniques are disclosed for establishing a link from a source path of a system volume within a container to a target path of a data volume within the container. According to yet other embodiments, techniques are disclosed for determining whether to allow a file system operation on a data volume of a container based on at least determining whether a target path is associated with a reference to a source path.Type: ApplicationFiled: May 20, 2020Publication date: December 3, 2020Inventors: Vivek VERMA, Damien P. SORRESSO, Pavel SOKOLOV, Pierre-Olivier J. MARTEL, Eric B. TAMURA, Yoni BARON
-
Patent number: 10503564Abstract: Techniques for handling security of an application and its extension are described. In one embodiment, an application manager of an operating system running within a data processing system launches an application in a first sandboxed environment based on a first security profile associated with the application. In response to receiving a request from the application for accessing a function of an application extension that is associated with the application, the application manager launches the application extension in a second sandboxed environment based on a second security profile associated with the application extension. The application manager is to individually enforce security and manage resources of the application and the application extension in the first and second sandboxed environments based on the first and second security profiles, respectively. The second security profile specifies resources fewer than the first security profile.Type: GrantFiled: December 9, 2016Date of Patent: December 10, 2019Assignee: Apple Inc.Inventors: Ivan Krstić, Damien P. Sorresso, Jason C. Beaver, Sophia Teutschler, Ian J. Baird
-
Publication number: 20190370469Abstract: In an embodiment, a system supports an external trust cache. That is, the trust cache is separate from the kernel image on the non-volatile storage in the system. During boot, the boot code may read the trust cache from the storage and write it to the working memory of the system (e.g. the Random Access Memory (RAM) forming the memory system in the system). The boot code may also validate the kernel image and write it to the memory system. The boot code may program a region register in the processor to define a region in the working memory that encompasses the kernel image and the trust cache, to protect the region from modification/tampering.Type: ApplicationFiled: September 29, 2018Publication date: December 5, 2019Inventors: Julien Oster, Eric S. Harmon, Mitchell K. Allison, Pierre-Olivier J. Martel, Damien P. Sorresso, Dallas B. De Atley, Ryan P. Nielsen
-
Patent number: 10162727Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.Type: GrantFiled: June 27, 2016Date of Patent: December 25, 2018Assignee: Apple Inc.Inventors: Eric Russell Clements, Daniel Andreas Steffen, Jainam Ashokkumar Shah, Vishal Patel, Damien P. Sorresso
-
Publication number: 20170255775Abstract: Systems, methods, and machine readable media are described which use code verification to verify the authenticity of installed software. The code verification can be performed in any one of a set of different paths, in one embodiment, which includes a first path using a trust cache of hashes of operating system components and one or more platform applications that are included together in a static software build that is installed on a system and a second path which evaluates code figured with one or more certificates (e.g. code signatures) for a software component (e.g. a third party software application or daemon) that is not part of the static software build. The path taken by a code verification process is audited to verify that the system has not been compromised.Type: ApplicationFiled: September 15, 2016Publication date: September 7, 2017Inventor: Damien P. Sorresso
-
Publication number: 20170185768Abstract: Techniques for handling security of an application and its extension are described. In one embodiment, an application manager of an operating system running within a data processing system launches an application in a first sandboxed environment based on a first security profile associated with the application. In response to receiving a request from the application for accessing a function of an application extension that is associated with the application, the application manager launches the application extension in a second sandboxed environment based on a second security profile associated with the application extension. The application manager is to individually enforce security and manage resources of the application and the application extension in the first and second sandboxed environments based on the first and second security profiles, respectively. The second security profile specifies resources fewer than the first security profile.Type: ApplicationFiled: December 9, 2016Publication date: June 29, 2017Inventors: Ivan Krstic, Damien P. Sorresso, Jason C. Beaver, Sophia Teutschler, Ian J. Baird
-
Patent number: 9684547Abstract: Techniques for handling security of an application and its extension are described. In one embodiment, an application manager of an operating system running within a data processing system launches an application in a first sandboxed environment based on a first security profile associated with the application. In response to receiving a request from the application for accessing a function of an application extension that is associated with the application, the application manager launches the application extension in a second sandboxed environment based on a second security profile associated with the application extension. The application manager is to individually enforce security and manage resources of the application and the application extension in the first and second sandboxed environments based on the first and second security profiles, respectively. The second security profile specifies resources fewer than the first security profile.Type: GrantFiled: September 16, 2014Date of Patent: June 20, 2017Assignee: Apple Inc.Inventors: Ivan Krstic, Damien P. Sorresso, Jason C. Beaver, Sophia Teutschler, Ian J. Baird
-
Publication number: 20170031798Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.Type: ApplicationFiled: June 27, 2016Publication date: February 2, 2017Inventors: ERIC RUSSELL CLEMENTS, DANIEL ANDREAS STEFFEN, JAINAM ASHOKKUMAR SHAH, VISHAL PATEL, DAMIEN P. SORRESSO
-
Patent number: 9471378Abstract: A method for resource management of a data processing system is described herein. According to one embodiment, a token is periodically pushed into a memory usage queue, where the token includes a timestamp indicating time entering the memory usage queue. The memory usage queue stores a plurality of memory page identifiers (IDs) identifying a plurality of memory pages currently allocated to a plurality of programs running within the data processing system. In response to a request to reduce memory usage, a token is popped from the memory usage queue. A timestamp of the popped token is then compared with current time to determine whether a memory usage reduction action should be performed.Type: GrantFiled: February 12, 2015Date of Patent: October 18, 2016Assignee: Apple Inc.Inventors: Lionel D. Desai, Neil G. Crane, Damien P. Sorresso, Joseph Sokol, Jr.
-
Patent number: 9396089Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.Type: GrantFiled: September 30, 2014Date of Patent: July 19, 2016Assignee: Apple Inc.Inventors: Eric Russell Clements, Daniel Andreas Steffen, Jainam Ashokkumar Shah, Vishal Patel, Damien P. Sorresso
-
Publication number: 20150347748Abstract: Techniques for handling security of an application and its extension are described. In one embodiment, an application manager of an operating system running within a data processing system launches an application in a first sandboxed environment based on a first security profile associated with the application. In response to receiving a request from the application for accessing a function of an application extension that is associated with the application, the application manager launches the application extension in a second sandboxed environment based on a second security profile associated with the application extension. The application manager is to individually enforce security and manage resources of the application and the application extension in the first and second sandboxed environments based on the first and second security profiles, respectively. The second security profile specifies resources fewer than the first security profile.Type: ApplicationFiled: September 16, 2014Publication date: December 3, 2015Inventors: Ivan Krstic, Damien P. Sorresso, Jason C. Beaver, Sophia Teutschler, Ian J. Baird
-
Publication number: 20150347265Abstract: Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.Type: ApplicationFiled: September 30, 2014Publication date: December 3, 2015Inventors: Eric Russell Clements, Daniel Andreas STEFFEN, Jainam Ashokkumar SHAH, Vishal PATEL, Damien P. SORRESSO
-
Publication number: 20150286500Abstract: A method for resource management of a data processing system is described herein. According to one embodiment, a token is periodically pushed into a memory usage queue, where the token includes a timestamp indicating time entering the memory usage queue. The memory usage queue stores a plurality of memory page identifiers (IDs) identifying a plurality of memory pages currently allocated to a plurality of programs running within the data processing system. In response to a request to reduce memory usage, a token is popped from the memory usage queue. A timestamp of the popped token is then compared with current time to determine whether a memory usage reduction action should be performed.Type: ApplicationFiled: February 12, 2015Publication date: October 8, 2015Inventors: Lionel D. Desai, Neil G. Crane, Damien P. Sorresso, Joseph Sokol, JR.
-
Patent number: 8990534Abstract: A method for resource management of a data processing system is described herein. According to one embodiment, a token is periodically pushed into a memory usage queue, where the token includes a timestamp indicating time entering the memory usage queue. The memory usage queue stores a plurality of memory page identifiers (IDs) identifying a plurality of memory pages currently allocated to a plurality of programs running within the data processing system. In response to a request to reduce memory usage, a token is popped from the memory usage queue. A timestamp of the popped token is then compared with current time to determine whether a memory usage reduction action should be performed.Type: GrantFiled: May 31, 2012Date of Patent: March 24, 2015Assignee: Apple Inc.Inventors: Lionel D. Desai, Neil G. Crane, Damien P. Sorresso, Joseph Sokol, Jr.
-
Publication number: 20130326166Abstract: A method for resource management of a data processing system is described herein. According to one embodiment, a token is periodically pushed into a memory usage queue, where the token includes a timestamp indicating time entering the memory usage queue. The memory usage queue stores a plurality of memory page identifiers (IDs) identifying a plurality of memory pages currently allocated to a plurality of programs running within the data processing system. In response to a request to reduce memory usage, a token is popped from the memory usage queue. A timestamp of the popped token is then compared with current time to determine whether a memory usage reduction action should be performed.Type: ApplicationFiled: May 31, 2012Publication date: December 5, 2013Applicant: Apple Inc.Inventors: Lionel D. Desai, Neil G. Crane, Damien P. Sorresso, Joseph Sokol, JR.