Patents Assigned to InnoPath Software, Inc.
  • Patent number: 7350205
    Abstract: A portable communication device is provided that receives upgrade files via a 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. An upgrade client of the portable communication device automatically upgrades the software components using the upgrade file contents. Automatic upgrades of the software components include self-upgrades to software components of the upgrade client.
    Type: Grant
    Filed: October 14, 2004
    Date of Patent: March 25, 2008
    Assignee: InnoPath Software, Inc.
    Inventor: De Ji
  • 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
  • Patent number: 7096311
    Abstract: A system and method for updating electronic files and file components are provided. An upgrade client of a remote device receives a delta file block that codes differences between an original and a new version of a file. The upgrade client stores the delta file block in a first memory area. The upgrade client writes an original file block corresponding to the delta file block from an original memory area to a second memory area. A file updating algorithm generates an updated file block in the host device using the received delta file block and the original file block. This updated file block corresponds to the original file block, and is stored in a third memory area. The upgrade client updates the original file block of the remote device by writing the updated file block over the original file block in the original memory area of the remote device.
    Type: Grant
    Filed: September 30, 2002
    Date of Patent: August 22, 2006
    Assignee: InnoPath Software, Inc.
    Inventor: Ying-Hsin Robert Chiang
  • 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
  • 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
  • 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
  • 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: 6925467
    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: May 13, 2002
    Date of Patent: August 2, 2005
    Assignee: InnoPath Software, Inc.
    Inventors: Jinsheng Gu, Luosheng Peng
  • Patent number: 6836657
    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 12, 2002
    Date of Patent: December 28, 2004
    Assignee: InnoPath Software, Inc.
    Inventors: De Ji, Luosheng Peng