Patent ID: 7730318

Claim:
A system that manages the partitioning of an application comprising: at least one processor and at least one memory in communication with said at least one processor, said processor configured to execute program instructions that comprise the following: a base component stored in said at least one memory that hosts an operation of a first environment and a second environment, the application comprising: a first software object of said application that executes in said first environment comprising a first operating system, wherein said first software object provides a subset of the operations of the application; said first software object handling a plurality of data and including logic to identify a first of said plurality of data as not processable by said first software object, said first software object sending said first of said plurality of data to said base component, said first software object receiving processed data corresponding to said first of said plurality of data from said base component, said first software object using said processed data to further process the plurality of data; and a second software object of said application that executes in said second environment comprising a second operating system, said second software object receiving said first of said plurality of data from said base component with a corresponding wrapper, said second software object verifying said first of said plurality of data as being unmodified by comparing said data to the corresponding wrapper, said second software object processing said first of said plurality of data in a manner that resists tampering with said first of said plurality of data, said second software object sending said processed data to said base component; said base component comprising or hosting logic that receives said first of said plurality of data from said first software object, applies the corresponding wrapper to said first of said plurality of data, said corresponding wrapper comprising an indication of said second environment of said second software object and a seal that may be checked against said first of said plurality of data to determine whether said first of said plurality of data has been altered since the seal was determined, and routes said first of said plurality of data to said second environment, such that functionality of said application is parsed between said first and second operating systems; said base component further comprising or hosting logic that receives said processed data from said second software object, applies a second wrapper to said processed data, said second wrapper comprising an indication of said first environment of said first software object and a second seal that may be checked against said processed data to determine whether said processed data has been altered since the second seal was determined, and routes said processed data to said first environment, such that functionality of said application is parsed between said first and second operating systems.