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: 8713137
    Abstract: 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: Grant
    Filed: November 15, 2004
    Date of Patent: April 29, 2014
    Assignee: Innopath Software, Inc.
    Inventors: De Ji, Luosheng Peng
  • Patent number: 8156071
    Abstract: 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: Grant
    Filed: June 15, 2005
    Date of Patent: April 10, 2012
    Assignee: Innopath Software, Inc.
    Inventors: Jinsheng Gu, Luosheng Peng
  • Patent number: 7779055
    Abstract: 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: Grant
    Filed: July 22, 2005
    Date of Patent: August 17, 2010
    Assignee: Innopath Software, Inc.
    Inventor: Luosheng Peng
  • Patent number: 7516451
    Abstract: 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: Grant
    Filed: August 31, 2004
    Date of Patent: April 7, 2009
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Patent number: 7392260
    Abstract: 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: Grant
    Filed: December 21, 2005
    Date of Patent: June 24, 2008
    Assignee: InnoPath Software, Inc.
    Inventors: Liwei Ren, Jinsheng Gu, Luosheng Peng
  • Patent number: 7320010
    Abstract: 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: Grant
    Filed: November 18, 2002
    Date of Patent: January 15, 2008
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Patent number: 7313577
    Abstract: 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: Grant
    Filed: July 17, 2005
    Date of Patent: December 25, 2007
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Publication number: 20060101040
    Abstract: 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: Application
    Filed: December 21, 2005
    Publication date: May 11, 2006
    Inventors: Liwei Ren, Jinsheng Gu, Luosheng Peng
  • Patent number: 7031972
    Abstract: 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: Grant
    Filed: July 21, 2003
    Date of Patent: April 18, 2006
    Assignee: InnoPath Software, Inc.
    Inventors: Liwei Ren, Jinsheng Gu, Luosheng Peng
  • Publication number: 20060069755
    Abstract: 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: Application
    Filed: August 31, 2004
    Publication date: March 30, 2006
    Inventor: Luosheng Peng
  • Patent number: 7007049
    Abstract: 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: Grant
    Filed: November 18, 2002
    Date of Patent: February 28, 2006
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Patent number: 7006512
    Abstract: 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: Grant
    Filed: February 8, 2001
    Date of Patent: February 28, 2006
    Assignee: InnoPath Software, Inc,
    Inventors: Shuowen Yang, Luosheng Peng
  • Patent number: 7003534
    Abstract: 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: Grant
    Filed: November 18, 2002
    Date of Patent: February 21, 2006
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Publication number: 20050254521
    Abstract: 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: Application
    Filed: July 17, 2005
    Publication date: November 17, 2005
    Inventor: Luosheng Peng
  • Publication number: 20050257023
    Abstract: 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: Application
    Filed: July 22, 2005
    Publication date: November 17, 2005
    Inventor: Luosheng Peng
  • Patent number: 6959436
    Abstract: 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: Grant
    Filed: December 15, 2000
    Date of Patent: October 25, 2005
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Publication number: 20050234997
    Abstract: 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: Application
    Filed: June 16, 2005
    Publication date: October 20, 2005
    Inventors: Jinsheng Gu, Luosheng Peng
  • Patent number: 6957212
    Abstract: 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: Grant
    Filed: April 24, 2001
    Date of Patent: October 18, 2005
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Patent number: 6954754
    Abstract: 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: Grant
    Filed: April 16, 2001
    Date of Patent: October 11, 2005
    Assignee: InnoPath Software, Inc.
    Inventor: Luosheng Peng
  • Patent number: 6928467
    Abstract: 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: Grant
    Filed: February 1, 2001
    Date of Patent: August 9, 2005
    Assignee: Inno Path Software, Inc.
    Inventor: Luosheng Peng