Patents by Inventor Luosheng Peng
Luosheng Peng 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: 8713137Abstract: A portable communication device is provided that receives upgrade files via at least one wireless coupling. The contents of the upgrade file include information to repair errors in software components of the portable communication device and/or information to upgrade functions of the portable communication device. The portable communication device automatically upgrades the software components using the upgrade file contents. The portable communication device automatically recovers to an operational state when detecting an error or failure during the automatic upgrade. Further, the portable communication device resumes or reinitiates the automatic upgrade following the error or failure.Type: GrantFiled: November 15, 2004Date of Patent: April 29, 2014Assignee: Innopath Software, Inc.Inventors: De Ji, Luosheng Peng
-
Patent number: 8156071Abstract: A method for performing differencing and updating between electronic files is provided. A byte-level file differencing algorithm receives two byte streams corresponding to an original file and a new file. The new file includes updated and revised versions of the original file. The file differencing algorithm determines a longest common sub-string (LCS) between the two byte streams and divides each of the two byte streams into sub-streams. The sub-streams include the LCS along with prefix and suffix sub-streams to the LCS. The file differencing algorithm then recursively determines an LCS and divides each sub-stream until a size of the sub-streams is less than a pre-specified size. Byte-level differences are then identified between each of the corresponding sub-streams. Further, the file differencing algorithm defines a protocol for structuring a delta file by using a set of operation codes and a variable length integer format to eliminate redundant information in the delta file.Type: GrantFiled: June 15, 2005Date of Patent: April 10, 2012Assignee: Innopath Software, Inc.Inventors: Jinsheng Gu, Luosheng Peng
-
Patent number: 7779055Abstract: In performing memory management, an upgrade client of a host device identifies and reserves memory blocks large enough to accommodate new software components by performing sequential searches of first and second memory areas. The new software components are updated versions of components of original software files. When the new component size exceeds that of available blocks of the first and second memory areas, the upgrade client rewrites the first memory area to eliminate unused memory blocks, reapportions the first and second memory areas, writes the new component to the second memory area, and updates a vector table. To access host device software components, the upgrade client receives a function call from the main program of the host device including identification information of corresponding software files, reads a start address of the corresponding software files from the vector table, and generates a call for the corresponding software files.Type: GrantFiled: July 22, 2005Date of Patent: August 17, 2010Assignee: Innopath Software, Inc.Inventor: Luosheng Peng
-
Patent number: 7516451Abstract: A mobile device is provided that includes a first processor coupled among at least one additional processor and a communication device for use in maintaining electronic files of the device. The mobile device can, for example, be a cellular telephone. The mobile device further includes an upgrade engine coupled to the first processor. The upgrade engine receives maintenance files from remote servers via the communication device, where the maintenance files include difference files. The upgrade engine uses information of the difference files to update software of the first processor. In addition to the upgrade engine, the mobile device includes an emulator that is coupled to the upgrade engine. The emulator transfers pre-specified ones of the difference files to the additional processor(s) where a rewrite engine uses the difference files to upgrade software of the additional processor(s).Type: GrantFiled: August 31, 2004Date of Patent: April 7, 2009Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Patent number: 7392260Abstract: A file differencing and updating system is provided that includes a file differencing component and a file updating component. The file differencing component, or file differencing engine, generates a difference file in a first processor-based or computer system from an original or old version and a new version of an electronic file. Generation of the difference files includes processing to reduce the number of file changes introduced by code block swaps. The processing uses an alignment algorithm, which includes a sorting algorithm, to align the code blocks of the original version in the same order as those of the new version, thereby eliminating the increase in the number of byte-level file differences due to code block swaps. During the alignment operations, the block movements are dynamically recorded at a minimum cost level and encoded for transmission to the file updating component for use in code recovery.Type: GrantFiled: December 21, 2005Date of Patent: June 24, 2008Assignee: InnoPath Software, Inc.Inventors: Liwei Ren, Jinsheng Gu, Luosheng Peng
-
Patent number: 7320010Abstract: In controlling electronic file updates, an upgrade system identifies host device models that include an original electronic file upon receipt of a new file, when the new file is an updated version of the original file. Using the identified model list, the upgrade system automatically generates a target list of subscribers that use the identified models. The upgrade system filters the target list using data of pre-defined user groups and generates subgroups of the target list. The pre-defined groups can include groupings made according to any criteria. The upgrade system selects an upgrade control policy for each user according to the subgroup to which the user is a member. The upgrade control policy controls device update parameters. The upgrade system transmits upgrades and/or upgrade notifications to the appropriate host devices in accordance with the selected upgrade control policies.Type: GrantFiled: November 18, 2002Date of Patent: January 15, 2008Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Patent number: 7313577Abstract: In generating difference information between different file versions, a software component distributor (SCD) receives new files and corresponding original files. The SCD generates a new map file, hex file, and device memory map (DMM) for the new file. Module information is read from the new file using information of the new map file and hex file. The SCD, using the module information, compares the new DMM with the DMM of the original file, identifying inserted and deleted modules of the new file in response to the comparison. The SCD identifies remaining modules of the new file in which the contents remain the same as corresponding modules of the original file, where the remaining modules are modules of the new file not identified as inserted modules. The SCD generates difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.Type: GrantFiled: July 17, 2005Date of Patent: December 25, 2007Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Publication number: 20060101040Abstract: A file differencing and updating system is provided that includes a file differencing component and a file updating component. The file differencing component, or file differencing engine, generates a difference file in a first processor-based or computer system from an original or old version and a new version of an electronic file. Generation of the difference files includes processing to reduce the number of file changes introduced by code block swaps. The processing uses an alignment algorithm, which includes a sorting algorithm, to align the code blocks of the original version in the same order as those of the new version, thereby eliminating the increase in the number of byte-level file differences due to code block swaps. During the alignment operations, the block movements are dynamically recorded at a minimum cost level and encoded for transmission to the file updating component for use in code recovery.Type: ApplicationFiled: December 21, 2005Publication date: May 11, 2006Inventors: Liwei Ren, Jinsheng Gu, Luosheng Peng
-
Patent number: 7031972Abstract: A file differencing and updating system is provided that includes a file differencing component and a file updating component. The file differencing component, or file differencing engine, generates a difference file in a first processor-based or computer system from an original or old version and a new version of an electronic file. Generation of the difference files includes processing to reduce the number of file changes introduced by code block swaps. The processing uses an alignment algorithm, which includes a sorting algorithm, to align the code blocks of the original version in the same order as those of the new version, thereby eliminating the increase in the number of byte-level file differences due to code block swaps. During the alignment operations, the block movements are dynamically recorded at a minimum cost level and encoded for transmission to the file updating component for use in code recovery.Type: GrantFiled: July 21, 2003Date of Patent: April 18, 2006Assignee: InnoPath Software, Inc.Inventors: Liwei Ren, Jinsheng Gu, Luosheng Peng
-
Publication number: 20060069755Abstract: A mobile device is provided that includes a first processor coupled among at least one additional processor and a communication device for use in maintaining electronic files of the device. The mobile device can, for example, be a cellular telephone. The mobile device further includes an upgrade engine coupled to the first processor. The upgrade engine receives maintenance files from remote servers via the communication device, where the maintenance files include difference files. The upgrade engine uses information of the difference files to update software of the first processor. In addition to the upgrade engine, the mobile device includes an emulator that is coupled to the upgrade engine. The emulator transfers pre-specified ones of the difference files to the additional processor(s) where a rewrite engine uses the difference files to upgrade software of the additional processor(s).Type: ApplicationFiled: August 31, 2004Publication date: March 30, 2006Inventor: Luosheng Peng
-
Patent number: 7007049Abstract: In performing memory management, an upgrade client of a host device identifies and reserves memory blocks large enough to accommodate new software components by performing sequential searches of first and second memory areas. The new software components are updated versions of components of original software files. When the new component size exceeds that of available blocks of the first and second memory areas, the upgrade client rewrites the first memory area to eliminate unused memory blocks, reapportions the first and second memory areas, writes the new component to the second memory area, and updates a vector table. To access host device software components, the upgrade client receives a function call from the main program of the host device including identification information of corresponding software files, reads a start address of the corresponding software files from the vector table, and generates a call for the corresponding software files.Type: GrantFiled: November 18, 2002Date of Patent: February 28, 2006Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Patent number: 7006512Abstract: An exemplary method for managing requests in a mobile device system comprises the steps of assigning a priority to each queue in a set of priority queues, inputting requests into the set of priority queues based on a priority associated with each request, merging multiple requests in the set of priority queues into a merged request based on priorities associated with the multiple requests and a destination for the multiple requests, and sending the merged request to a request queue for a connection in a connection pool for the destination.Type: GrantFiled: February 8, 2001Date of Patent: February 28, 2006Assignee: InnoPath Software, Inc,Inventors: Shuowen Yang, Luosheng Peng
-
Patent number: 7003534Abstract: In generating difference information between different file versions, a software component distributor (SCD) receives new files and corresponding original files. The SCD generates a new map file, hex file, and device memory map (DMM) for the new file. Module information is read from the new file using information of the new map file and hex file. The SCD, using the module information, compares the new DMM with the DMM of the original file, identifying inserted and deleted modules of the new file in response to the comparison. The SCD identifies remaining modules of the new file in which the contents remain the same as corresponding modules of the original file, where the remaining modules are modules of the new file not identified as inserted modules. The SCD generates difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.Type: GrantFiled: November 18, 2002Date of Patent: February 21, 2006Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Publication number: 20050254521Abstract: In generating difference information between different file versions, a software component distributor (SCD) receives new files and corresponding original files. The SCD generates a new map file, hex file, and device memory map (DMM) for the new file. Module information is read from the new file using information of the new map file and hex file. The SCD, using the module information, compares the new DMM with the DMM of the original file, identifying inserted and deleted modules of the new file in response to the comparison. The SCD identifies remaining modules of the new file in which the contents remain the same as corresponding modules of the original file, where the remaining modules are modules of the new file not identified as inserted modules. The SCD generates difference information representative of the inserted modules, deleted modules, and remaining modules in which the contents remain the same.Type: ApplicationFiled: July 17, 2005Publication date: November 17, 2005Inventor: Luosheng Peng
-
Publication number: 20050257023Abstract: In performing memory management, an upgrade client of a host device identifies and reserves memory blocks large enough to accommodate new software components by performing sequential searches of first and second memory areas. The new software components are updated versions of components of original software files. When the new component size exceeds that of available blocks of the first and second memory areas, the upgrade client rewrites the first memory area to eliminate unused memory blocks, reapportions the first and second memory areas, writes the new component to the second memory area, and updates a vector table. To access host device software components, the upgrade client receives a function call from the main program of the host device including identification information of corresponding software files, reads a start address of the corresponding software files from the vector table, and generates a call for the corresponding software files.Type: ApplicationFiled: July 22, 2005Publication date: November 17, 2005Inventor: Luosheng Peng
-
Patent number: 6959436Abstract: An exemplary method for intelligently providing application and data in a mobile device system comprises the steps of collecting user operation history of at least one user, generating user and application registration information, selectively caching application or data at a mobile device and a gateway based on the user operation history, differentially updating the application or data at the mobile device and the gateway, and synchronizing the user operation history and user and application registration information among a plurality of gateways.Type: GrantFiled: December 15, 2000Date of Patent: October 25, 2005Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Publication number: 20050234997Abstract: A method for performing differencing and updating between electronic files is provided. A byte-level file differencing algorithm receives two byte streams corresponding to an original file and a new file. The new file includes updated and revised versions of the original file. The file differencing algorithm determines a longest common sub-string (LCS) between the two byte streams and divides each of the two byte streams into sub-streams. The sub-streams include the LCS along with prefix and suffix sub-streams to the LCS. The file differencing algorithm then recursively determines an LCS and divides each sub-stream until a size of the sub-streams is less than a pre-specified size. Byte-level differences are then identified between each of the corresponding sub-streams. Further, the file differencing algorithm defines a protocol for structuring a delta file by using a set of operation codes and a variable length integer format to eliminate redundant information in the delta file.Type: ApplicationFiled: June 16, 2005Publication date: October 20, 2005Inventors: Jinsheng Gu, Luosheng Peng
-
Patent number: 6957212Abstract: An exemplary method for intelligently caching applications and data on a gateway comprises the steps of calculating a cache benefit index for a set of files, the cache benefit index measuring a total benefit for caching the set of files, determining whether to cache the set of files on a local file system based on the cache benefit index, caching the set of files on the local file system, and updating a set of tables in a gateway database based on the caching.Type: GrantFiled: April 24, 2001Date of Patent: October 18, 2005Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Patent number: 6954754Abstract: An exemplary method for managing a cache on a mobile device comprises the steps of receiving a call for loading a set of files, the set of files including an application or data, searching a database in a database for a matching record to the set of files, determining if the set of files is out-of-date or if a scheduled update is overdue based on the matching record, updating the set of files if it is out-of-date, performing a status check or update if the scheduled update is overdue, and loading the set of files if it is not out-of-date and the scheduled update is not overdue.Type: GrantFiled: April 16, 2001Date of Patent: October 11, 2005Assignee: InnoPath Software, Inc.Inventor: Luosheng Peng
-
Patent number: 6928467Abstract: Object stores are used as building blocks to construct a system with variable complexity on a network. Typically, an object store comprises information (e.g., data) stored in object format, or objects. The objects and object stores are managed by an object version management mechanism that adapts to different object store types and optimizes resource consumption by each object store. Various data fields are used to indicate an object's version within an object store. Version information is used to compare the states among matching object replicas in matching object stores. Utilizing both the object store based system and the object version management mechanism, a data synchronization protocol is developed. The data synchronization protocol is capable of adapting to different types of object stores and the characteristics of network connection media to optimize data synchronization.Type: GrantFiled: February 1, 2001Date of Patent: August 9, 2005Assignee: Inno Path Software, Inc.Inventor: Luosheng Peng