Patents by Inventor Stefan I Larimore

Stefan I Larimore 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: 11321148
    Abstract: A data structure including simple and complex objects. Each simple object includes a content type indicator, a size indicator, and one or more simple data types. Each complex object includes a content type indicator, a size indicator, and one or more child objects. The complex objects include a layer object having first and second child objects. The first child object is a collection of complex objects storing information for configuring a virtual filesystem of a virtual application at application startup. The second child object is a collection of complex objects storing information for configuring a virtual registry of the virtual application at application startup. Reading of selected simple and complex objects may be deferred at startup based on the content type indicator. Deferred objects may be read after startup when access to information stored by the deferred object is request by the virtual application.
    Type: Grant
    Filed: March 25, 2016
    Date of Patent: May 3, 2022
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Patent number: 11196805
    Abstract: A method of constructing an application file from a plurality of files, each storing only a portion of an original application file. Each of the files stores one or more data blocks obtained from the original application file, and a location in the original application file from which each of the data blocks was obtained. At least one of the files stores the size of the original application file. The method includes allocating a block of memory the size of the original application file and storing each of the data blocks of the files in a memory location of the block of memory corresponding to the location in the original application file from which the data block was obtained. Before the block of memory includes the entire original application file, a reconstructed application file comprising the block of memory is executed to thereby at least partially implement an application.
    Type: Grant
    Filed: June 28, 2011
    Date of Patent: December 7, 2021
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Kenji C. Obata, Stefan I. Larimore
  • Patent number: 10402239
    Abstract: A method of hosting a first application (e.g., a virtual application) inside a second application (e.g., a control displayed by a web browser). The method includes executing the first application inside a runtime environment generated at least in part by a runtime engine. The executing first application calls user interface functions that when executed inside the runtime environment generate a first user interface. The runtime engine captures these calls, generates messages comprising information associated with the captured calls, and forwards the messages to a user interface manager that is a separate application from the runtime engine. The user interface manager receives the messages, translates the information associated with the captured calls into instructions for the second application, and sends the instructions to the second application. The control receives the instructions sent by the user interface manager, and displays a second user interface for the first application based on the instructions.
    Type: Grant
    Filed: April 18, 2017
    Date of Patent: September 3, 2019
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore
  • Patent number: 10158707
    Abstract: A method and system for profiling execution of an application implemented by an application file comprising a plurality of data blocks. The application is executed in response to an execute command from a management process. Read messages are sent to the management process each time the application reads one or more of the plurality of data blocks of the application file. The management process records information about the read operations in one or more transcripts which may be used to create a streaming model for the application allowing the application to be downloaded using a conventional download protocol without using a specialized streaming protocol.
    Type: Grant
    Filed: October 7, 2015
    Date of Patent: December 18, 2018
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
  • Patent number: 9864600
    Abstract: A method of virtualizing an application to execute on a plurality of operating systems without installation. The method includes creating an input configuration file for each operating system. The templates each include a collection of configurations that were made by the application during installation on a computing device executing the operating system. The templates are combined into a single application template having a layer including the collection of configurations for each operating system. The collection of configurations includes files and registry entries. The collections also identifies and configures environmental variables, systems, and the like. Files in the collection of configurations and references to those files may be replaced with references to files stored on installation media. The application template is used to build an executable of the virtualized application.
    Type: Grant
    Filed: August 5, 2014
    Date of Patent: January 9, 2018
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Patent number: 9779111
    Abstract: A method of virtualizing an application to execute on a plurality of operating systems without installation. The method includes creating an input configuration file for each operating system. The templates each include a collection of configurations that were made by the application during installation on a computing device executing the operating system. The templates are combined into a single application template having a layer including the collection of configurations for each operating system. The collection of configurations includes files and registry entries. The collections also identifies and configures environmental variables, systems, and the like. Files in the collection of configurations and references to those files may be replaced with references to files stored on installation media. The application template is used to build an executable of the virtualized application.
    Type: Grant
    Filed: June 5, 2014
    Date of Patent: October 3, 2017
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Patent number: 9747425
    Abstract: Methods and systems for restricting the launch of virtual application files. In one embodiment, a launching application is signed with a digital signature. When the launching application launches a runtime engine and instructs it to execute an application file, the runtime engine determines whether an entity identifier associated with the launching application identifies an authorized entity. If the entity identifier identifies an authorized entity and the digital signature is valid, the runtime engine executes the application file. In another embodiment, a ticket is transmitted to the launching application along with an instruction to launch the application file. The ticket includes a digital signature and an expiration date. The launching application communicates the ticket to the runtime engine, which will execute the application file only if the digital signature is valid and a current date is not later than the expiration date.
    Type: Grant
    Filed: July 1, 2015
    Date of Patent: August 29, 2017
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: C. Michael Murphey, Kenji C. Obata, Mark Jeremy Zeller, Stefan I. Larimore
  • Publication number: 20170220400
    Abstract: A method of hosting a first application (e.g., a virtual application) inside a second application (e.g., a control displayed by a web browser). The method includes executing the first application inside a runtime environment generated at least in part by a runtime engine. The executing first application calls user interface functions that when executed inside the runtime environment generate a first user interface. The runtime engine captures these calls, generates messages comprising information associated with the captured calls, and forwards the messages to a user interface manager that is a separate application from the runtime engine. The user interface manager receives the messages, translates the information associated with the captured calls into instructions for the second application, and sends the instructions to the second application. The control receives the instructions sent by the user interface manager, and displays a second user interface for the first application based on the instructions.
    Type: Application
    Filed: April 18, 2017
    Publication date: August 3, 2017
    Inventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore
  • Patent number: 9626237
    Abstract: A method of hosting a first application (e.g., a virtual application) inside a second application (e.g., a control displayed by a web browser). The method includes executing the first application inside a runtime environment generated at least in part by a runtime engine. The executing first application calls user interface functions that when executed inside the runtime environment generate a first user interface. The runtime engine captures these calls, generates messages comprising information associated with the captured calls, and forwards the messages to a user interface manager that is a separate application from the runtime engine. The user interface manager receives the messages, translates the information associated with the captured calls into instructions for the second application, and sends the instructions to the second application. The control receives the instructions sent by the user interface manager, and displays a second user interface for the first application based on the instructions.
    Type: Grant
    Filed: December 4, 2015
    Date of Patent: April 18, 2017
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore
  • Patent number: 9569286
    Abstract: A data structure including simple and complex objects. Each simple object includes a content type indicator, a size indicator, and one or more simple data types. Each complex object includes a content type indicator, a size indicator, and one or more child objects. The complex objects include a layer object having first and second child objects. The first child object is a collection of complex objects storing information for configuring a virtual filesystem of a virtual application at application startup. The second child object is a collection of complex objects storing information for configuring a virtual registry of the virtual application at application startup. Reading of selected simple and complex objects may be deferred at startup based on the content type indicator. Deferred objects may be read after startup when access to information stored by the deferred object is request by the virtual application.
    Type: Grant
    Filed: October 7, 2015
    Date of Patent: February 14, 2017
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Publication number: 20160210309
    Abstract: A data structure including simple and complex objects. Each simple object includes a content type indicator, a size indicator, and one or more simple data types. Each complex object includes a content type indicator, a size indicator, and one or more child objects. The complex objects include a layer object having first and second child objects. The first child object is a collection of complex objects storing information for configuring a virtual filesystem of a virtual application at application startup. The second child object is a collection of complex objects storing information for configuring a virtual registry of the virtual application at application startup. Reading of selected simple and complex objects may be deferred at startup based on the content type indicator. Deferred objects may be read after startup when access to information stored by the deferred object is request by the virtual application.
    Type: Application
    Filed: March 25, 2016
    Publication date: July 21, 2016
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Publication number: 20160085603
    Abstract: A method of hosting a first application (e.g., a virtual application) inside a second application (e.g., a control displayed by a web browser). The method includes executing the first application inside a runtime environment generated at least in part by a runtime engine. The executing first application calls user interface functions that when executed inside the runtime environment generate a first user interface. The runtime engine captures these calls, generates messages comprising information associated with the captured calls, and forwards the messages to a user interface manager that is a separate application from the runtime engine. The user interface manager receives the messages, translates the information associated with the captured calls into instructions for the second application, and sends the instructions to the second application. The control receives the instructions sent by the user interface manager, and displays a second user interface for the first application based on the instructions.
    Type: Application
    Filed: December 4, 2015
    Publication date: March 24, 2016
    Inventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore
  • Publication number: 20160085570
    Abstract: A method of constructing an application file from a plurality of files, each storing only a portion of an original application file. Each of the files stores one or more data blocks obtained from the original application file, and a location in the original application file from which each of the data blocks was obtained. At least one of the files stores the size of the original application file. The method includes allocating a block of memory the size of the original application file and storing each of the data blocks of the files in a memory location of the block of memory corresponding to the location in the original application file from which the data block was obtained. Before the block of memory includes the entire original application file, a reconstructed application file comprising the block of memory is executed to thereby at least partially implement an application.
    Type: Application
    Filed: June 28, 2011
    Publication date: March 24, 2016
    Applicant: Code Systems Corporation
    Inventors: Kenji C. Obata, Stefan I. Larimore
  • Publication number: 20160026509
    Abstract: A data structure including simple and complex objects. Each simple object includes a content type indicator, a size indicator, and one or more simple data types. Each complex object includes a content type indicator, a size indicator, and one or more child objects. The complex objects include a layer object having first and second child objects. The first child object is a collection of complex objects storing information for configuring a virtual filesystem of a virtual application at application startup. The second child object is a collection of complex objects storing information for configuring a virtual registry of the virtual application at application startup. Reading of selected simple and complex objects may be deferred at startup based on the content type indicator. Deferred objects may be read after startup when access to information stored by the deferred object is request by the virtual application.
    Type: Application
    Filed: October 7, 2015
    Publication date: January 28, 2016
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Publication number: 20160026496
    Abstract: A method and system for profiling execution of an application implemented by an application file comprising a plurality of data blocks. The application is executed in response to an execute command from a management process. Read messages are sent to the management process each time the application reads one or more of the plurality of data blocks of the application file. The management process records information about the read operations in one or more transcripts which may be used to create a streaming model for the application allowing the application to be downloaded using a conventional download protocol without using a specialized streaming protocol.
    Type: Application
    Filed: October 7, 2015
    Publication date: January 28, 2016
    Inventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
  • Patent number: 9229748
    Abstract: A data structure including simple and complex objects. Each simple object includes a content type indicator, a size indicator, and one or more simple data types. Each complex object includes a content type indicator, a size indicator, and one or more child objects. The complex objects include a layer object having first and second child objects. The first child object is a collection of complex objects storing information for configuring a virtual filesystem of a virtual application at application startup. The second child object is a collection of complex objects storing information for configuring a virtual registry of the virtual application at application startup. Reading of selected simple and complex objects may be deferred at startup based on the content type indicator. Deferred objects may be read after startup when access to information stored by the deferred object is request by the virtual application.
    Type: Grant
    Filed: January 29, 2010
    Date of Patent: January 5, 2016
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Patent number: 9218359
    Abstract: A method and system for profiling execution of an application implemented by an application file comprising a plurality of data blocks. The application is executed in response to an execute command from a management process. Read messages are sent to the management process each time the application reads one or more of the plurality of data blocks of the application file. The management process records information about the read operations in one or more transcripts which may be used to create a streaming model for the application allowing the application to be downloaded using a conventional download protocol without using a specialized streaming protocol.
    Type: Grant
    Filed: September 3, 2010
    Date of Patent: December 22, 2015
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
  • Patent number: 9207934
    Abstract: A method of virtualizing an application to execute on a plurality of operating systems without installation. The method includes creating an input configuration file for each operating system. The templates each include a collection of configurations that were made by the application during installation on a computing device executing the operating system. The templates are combined into a single application template having a layer including the collection of configurations for each operating system. The collection of configurations includes files and registry entries. The collections also identifies and configures environmental variables, systems, and the like. Files in the collection of configurations and references to those files may be replaced with references to files stored on installation media. The application template is used to build an executable of the virtualized application.
    Type: Grant
    Filed: April 19, 2013
    Date of Patent: December 8, 2015
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
  • Patent number: 9209976
    Abstract: Methods and systems for restricting the launch of virtual application files. A launching application is signed with a digital signature. When the launching application launches a runtime engine and instructs it to execute an application file, the runtime engine determines whether an entity identifier associated with the launching application identifies an authorized entity. If the entity identifier identifies an authorized entity and the digital signature is valid, the runtime engine executes the application file. A ticket may be transmitted to the launching application along with an instruction to launch the application file. The ticket includes a digital signature and an expiration date. The launching application communicates the ticket to the runtime engine, which will execute the application file only if the digital signature is valid and a current date is not later than the expiration date.
    Type: Grant
    Filed: October 29, 2010
    Date of Patent: December 8, 2015
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: C. Michael Murphey, Kenji C. Obata, Mark Jeremy Zeller, Stefan I. Larimore
  • Patent number: 9208004
    Abstract: A method of hosting a first application (e.g., a virtual application) inside a second application (e.g., a control displayed by a web browser). The method includes executing the first application inside a runtime environment generated at least in part by a runtime engine. The executing first application calls user interface functions that when executed inside the runtime environment generate a first user interface. The runtime engine captures these calls, generates messages comprising information associated with the captured calls, and forwards the messages to a user interface manager that is a separate application from the runtime engine. The user interface manager receives the messages, translates the information associated with the captured calls into instructions for the second application, and sends the instructions to the second application. The control receives the instructions sent by the user interface manager, and displays a second user interface for the first application based on the instructions.
    Type: Grant
    Filed: June 5, 2014
    Date of Patent: December 8, 2015
    Assignee: CODE SYSTEMS CORPORATION
    Inventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore