Patents Assigned to Code Systems Corporation
-
Patent number: 8769051Abstract: A method including downloading a streaming model file and at least one initial execution file from a server via a conventional download protocol without using a specialized streaming protocol. When executed, the initial execution file only partially implements an application. The model file stores information identifying additional portions of the application file to be downloaded from the server. Data is read from the initial execution file, and stored in a local copy of the application file. Then, the application is executed by executing the local copy. Until the entire application file has been downloaded and as the application is executing, the information is read from the model file to identify a next file to download, the next file is downloaded via the conventional download protocol without using a specialized streaming protocol, next data is read from the next file, and the next data is stored in the local copy.Type: GrantFiled: September 10, 2010Date of Patent: July 1, 2014Assignee: Code Systems CorporationInventor: Kenji C. Obata
-
Patent number: 8763009Abstract: 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: GrantFiled: April 15, 2011Date of Patent: June 24, 2014Assignee: Code Systems CorporationInventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore
-
Patent number: 8762495Abstract: A method for collecting transcripts each storing an order in which portions of an application file were accessed by the file when the file was executed on one of a plurality of computing devices. The method includes receiving requests to download the file from directing processes each executing on a different one of the computing devices, and in response to those requests, downloading the file to the computing devices and instructing the directing processes to profile usage of the file. Then, transcripts created by the directing processes are received therefrom. A streaming model may be created based on the transcripts received. The file may be divided into a plurality of smaller files based on the streaming model. The streaming model may be used to download the file by downloading at least a portion of the smaller files using a conventional download protocol without using a specialized streaming protocol.Type: GrantFiled: September 8, 2010Date of Patent: June 24, 2014Assignee: Code Systems CorporationInventors: Kenji C. Obata, Jason Pollentier, Mark Jeremy Zeller
-
Patent number: 8626806Abstract: A system and method for directing download and execution of an application. A runtime engine receives an identifier of a block of shared memory from a directing process. The shared memory stores a map indicating which portions of an application file have been stored in a local copy of the application file. The runtime engine also receives an instruction from the directing process to execute the local copy when the local copy stores less than the entire application file. As the application executes, the runtime engine identifies requests from the application to access portions of the local copy and uses the map to determine whether the requested portions have been stored in the local copy. If the requested portions are not stored in the local copy, the runtime engine prevents the executing application from accessing the local copy until the map indicates the requested portions have been stored therein.Type: GrantFiled: April 17, 2012Date of Patent: January 7, 2014Assignee: Code Systems CorporationInventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
-
Publication number: 20130247070Abstract: 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: ApplicationFiled: April 19, 2013Publication date: September 19, 2013Applicant: Code Systems CorporationInventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
-
Patent number: 8468175Abstract: A method of constructing a plurality of downloadable files from an application file and a plurality of transcripts. The application file stores data blocks and implements an application. Each of the transcripts stores at least one order in which at least a portion of the data blocks of the application file were accessed by the application when executed previously. The transcripts are combined into a combined transcript storing at least one combined order comprising a combined portion of the data blocks. The data blocks of the combined portion are arranged in a data structure having an origin. A first set of data blocks within a predetermined distance from the origin is stored in at least one initial execution file. A second set of data blocks outside the predetermined distance from the origin is stored in downloadable sequence files.Type: GrantFiled: September 10, 2010Date of Patent: June 18, 2013Assignee: Code Systems CorporationInventor: Kenji C. Obata
-
Patent number: 8434093Abstract: 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: GrantFiled: August 7, 2008Date of Patent: April 30, 2013Assignee: Code Systems CorporationInventors: Stefan I. Larimore, C. Michael Murphey, Kenji C. Obata
-
METHOD AND SYSTEM FOR RESTRICTING EXECUTION OF VIRTUAL APPLICATIONS TO A MANAGED PROCESS ENVIRONMENT
Publication number: 20130086386Abstract: 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: ApplicationFiled: November 21, 2012Publication date: April 4, 2013Applicant: Code Systems CorporationInventor: Code Systems Corporation -
Patent number: 8301730Abstract: A method for collecting transcripts each storing an order in which portions of an application file were accessed by the file when the file was executed on one of a plurality of computing devices. The method includes receiving requests to download the file from directing processes each executing on a different one of the computing devices, and in response to those requests, downloading the file to the computing devices and instructing the directing processes to profile usage of the file. Then, transcripts created by the directing processes are received therefrom. A streaming model may be created based on the transcripts received. The file may be divided into a plurality of smaller files based on the streaming model. The streaming model may be used to download the file by downloading at least a portion of the smaller files using a conventional download protocol without using a specialized streaming protocol.Type: GrantFiled: September 8, 2010Date of Patent: October 30, 2012Assignee: Code Systems CorporationInventors: Kenji C. Obata, Jason Pollentier, Mark Jeremy Zeller
-
Publication number: 20120203808Abstract: A system and method for directing download and execution of an application. A runtime engine receives an identifier of a block of shared memory from a directing process. The shared memory stores a map indicating which portions of an application file have been stored in a local copy of the application file. The runtime engine also receives an instruction from the directing process to execute the local copy when the local copy stores less than the entire application file. As the application executes, the runtime engine identifies requests from the application to access portions of the local copy and uses the map to determine whether the requested portions have been stored in the local copy. If the requested portions are not stored in the local copy, the runtime engine prevents the executing application from accessing the local copy until the map indicates the requested portions have been stored therein.Type: ApplicationFiled: April 17, 2012Publication date: August 9, 2012Applicant: Code Systems CorporationInventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
-
Publication number: 20120203807Abstract: A system and method for directing download and execution of an application. A runtime engine receives an identifier of a block of shared memory from a directing process. The shared memory stores a map indicating which portions of an application file have been stored in a local copy of the application file. The runtime engine also receives an instruction from the directing process to execute the local copy when the local copy stores less than the entire application file. As the application executes, the runtime engine identifies requests from the application to access portions of the local copy and uses the map to determine whether the requested portions have been stored in the local copy. If the requested portions are not stored in the local copy, the runtime engine prevents the executing application from accessing the local copy until the map indicates the requested portions have been stored therein.Type: ApplicationFiled: April 17, 2012Publication date: August 9, 2012Applicant: Code Systems CorporationInventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
-
METHOD AND SYSTEM FOR RESTRICTING EXECUTION OF VIRTUAL APPLICATIONS TO A MANAGED PROCESS ENVIRONMENT
Publication number: 20120110337Abstract: 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: ApplicationFiled: October 29, 2010Publication date: May 3, 2012Applicant: Code Systems CorporationInventors: C. Michael Murphey, Kenjl C. Obata, Mark Jeremy Zeller, Stefan I. Larimore -
Publication number: 20120096071Abstract: A method and system for publishing virtual applications on the Internet. The method includes obtaining a list of applications associated with a publisher from a server computing device and displaying the list to a user via a user interface. Next, a selection by the user of one of the applications is received from the user interface. A new virtualized version of the selected application is built. The virtualized version includes at least one application file that at least partially implements the new virtualized version of the selected application. Then, the application file is uploaded to the server computing device. An application address is received from the server computing device and a link to the application address is displayed to the user via the user interface. The virtualized version of the application is available at the application address for download and execution over a network (e.g., the Internet).Type: ApplicationFiled: October 18, 2010Publication date: April 19, 2012Applicant: Code Systems CorporationInventors: C. Michael Murphey, Kenji C. Obata, Mark Jeremy Zeller
-
Publication number: 20120005237Abstract: A method of constructing a plurality of downloadable files from an application file and a plurality of transcripts. The application file stores data blocks and implements an application. Each of the transcripts stores at least one order in which at least a portion of the data blocks of the application file were accessed by the application when executed previously. The transcripts are combined into a combined transcript storing at least one combined order comprising a combined portion of the data blocks. The data blocks of the combined portion are arranged in a data structure having an origin. A first set of data blocks within a predetermined distance from the origin is stored in at least one initial execution file. A second set of data blocks outside the predetermined distance from the origin is stored in downloadable sequence files.Type: ApplicationFiled: September 10, 2010Publication date: January 5, 2012Applicant: Code Systems CorporationInventor: Kenji C. Obata
-
Publication number: 20120005309Abstract: A method for collecting transcripts each storing an order in which portions of an application file were accessed by the file when the file was executed on one of a plurality of computing devices. The method includes receiving requests to download the file from directing processes each executing on a different one of the computing devices, and in response to those requests, downloading the file to the computing devices and instructing the directing processes to profile usage of the file. Then, transcripts created by the directing processes are received therefrom. A streaming model may be created based on the transcripts received. The file may be divided into a plurality of smaller files based on the streaming model. The streaming model may be used to download the file by downloading at least a portion of the smaller files using a conventional download protocol without using a specialized streaming protocol.Type: ApplicationFiled: September 8, 2010Publication date: January 5, 2012Applicant: Code Systems CorporationInventors: Kenji C. Obata, Jason Pollentier, Mark Jeremy Zeller
-
Publication number: 20120005244Abstract: 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: ApplicationFiled: June 28, 2011Publication date: January 5, 2012Applicant: Code Systems CorporationInventors: Kenji C. Obata, Stefan I. Larimore
-
Publication number: 20120005674Abstract: 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: ApplicationFiled: September 3, 2010Publication date: January 5, 2012Applicant: Code Systems CorporationInventors: Stefan I. Larimore, Kenji C. Obata, Mark Jeremy Zeller
-
Publication number: 20120005246Abstract: A system and method for directing download and execution of an application. A runtime engine receives an identifier of a block of shared memory from a directing process. The shared memory stores a map indicating which portions of an application file have been stored in a local copy of the application file. The runtime engine also receives an instruction from the directing process to execute the local copy when the local copy stores less than the entire application file. As the application executes, the runtime engine identifies requests from the application to access portions of the local copy and uses the map to determine whether the requested portions have been stored in the local copy. If the requested portions are not stored in the local copy, the runtime engine prevents the executing application from accessing the local copy until the map indicates the requested portions have been stored therein.Type: ApplicationFiled: September 3, 2010Publication date: January 5, 2012Applicant: Code Systems CorporationInventor: Kenji C. Obata
-
Publication number: 20120005310Abstract: A method including downloading a streaming model file and at least one initial execution file from a server via a conventional download protocol without using a specialized streaming protocol. When executed, the initial execution file only partially implements an application. The model file stores information identifying additional portions of the application file to be downloaded from the server. Data is read from the initial execution file, and stored in a local copy of the application file. Then, the application is executed by executing the local copy. Until the entire application file has been downloaded and as the application is executing, the information is read from the model file to identify a next file to download, the next file is downloaded via the conventional download protocol without using a specialized streaming protocol, next data is read from the next file, and the next data is stored in the local copy.Type: ApplicationFiled: September 10, 2010Publication date: January 5, 2012Applicant: Code Systems CorporationInventor: Kenji C. Obata
-
Publication number: 20110289513Abstract: 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: ApplicationFiled: April 15, 2011Publication date: November 24, 2011Applicant: Code Systems CorporationInventors: Ozcan Degirmenci, Mark Jeremy Zeller, Stefan I. Larimore