Patents Assigned to InnoPath Software, Inc.
-
Patent number: 7350205Abstract: 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: GrantFiled: October 14, 2004Date of Patent: March 25, 2008Assignee: InnoPath Software, Inc.Inventor: De Ji
-
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
-
Patent number: 7096311Abstract: 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: GrantFiled: September 30, 2002Date of Patent: August 22, 2006Assignee: InnoPath Software, Inc.Inventor: Ying-Hsin Robert Chiang
-
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
-
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
-
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
-
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: 6925467Abstract: 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: May 13, 2002Date of Patent: August 2, 2005Assignee: InnoPath Software, Inc.Inventors: Jinsheng Gu, Luosheng Peng
-
Patent number: 6836657Abstract: 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 12, 2002Date of Patent: December 28, 2004Assignee: InnoPath Software, Inc.Inventors: De Ji, Luosheng Peng