(12) United States Patent (10) Patent No.: US 7.444,347 B1 Alley Et Al
Total Page:16
File Type:pdf, Size:1020Kb
USOO7444347B1 (12) United States Patent (10) Patent No.: US 7.444,347 B1 Alley et al. (45) Date of Patent: Oct. 28, 2008 (54) SYSTEMS, METHODS AND COMPUTER 2005/0261891 A1* 11/2005 Chan et al. ..................... TO4/9 PRODUCTS FOR COMPRESSION OF 2007/004401.0 A1* 2, 2007 Sull et al. .. ... 715,500.1 HERARCHICAL IDENTIFIERS 2007/0128899 A1* 6/2007 Mayer ........................ 439,152 (75) Inventors: Charles L. Alley, Durham, NC (US); FOREIGN PATENT DOCUMENTS Anthony J Bybell, Carrboro, NC (US); WO WOO135216 5, 2001 Jason M. Sullivan, Raleigh, NC (US) Naming Issues in the Design of Transparently Distributed Operating (73) Assignee: International Business Machines Systems, 1987, Robert J. Stroud. (Item 1 from file 35) 1010738 Corporation, Armonk, NY (US) Order No. AADDX-80202)) online; retrieved on Oct. 26, 2007: retrieved from the Internet <URL http://www.dialogweb.com/dgi/ dwclient. (*) Notice: Subject to any disclaimer, the term of this ModelSim EE/PLUS Reference Manual, The ModelSim Elite Edi patent is extended or adjusted under 35 tion for VHDL. Verilog, and Mixed-HDL Simulation, Software Ver U.S.C. 154(b) by 0 days. sion 5.2, (Modern Technology, Inc.) Oct. 1998, online), retrieved on Nov. 2, 2007: Retrieved from the Internet <URL: <http://courses. (21) Appl. No.: 11/941,376 ece3.uiuc.edu/ece4 12/References/modelsimfee manual 52.pdf>. (22) Filed: Nov. 16, 2007 * cited by examiner Primary Examiner Kuen S Lu (51) Int. C. (74) Attorney, Agent, or Firm—Cantor Colburn LLP: Josh G06F 7/30 (2006.01) Cockburn G06F 7/00 (2006.01) (52) U.S. Cl. ........................... 707/101: 707/102; 707/6; (57) ABSTRACT 707/7 (58) Field of Classification Search ................. 707/101, Management of hierarchical identifiers in simulation models 707/102, 6, 7 and netlists is accomplished using a prefix compressor algo See application file for complete search history. rithm running on a general purpose computer processor. Full name compression is accomplished when hierarchy data and (56) References Cited remainder data are split off and prefix compressed. Com U.S. PATENT DOCUMENTS pressing prefixes of names in the hierarchy list is performed by comparing a previous entry to a current entry. Compress 4,843,389 A * 6/1989 Lisle et al. .................. 341 (106 ing prefixes of names in the name list is performed by running 5.325,091 A * 6/1994 Kaplanet al. ................. 341.51 an output of compressing of prefixes of names in the hierar 6,557,054 B2 4/2003 Reisman chy list and running an output of the compressing of prefixes 7,165,023 B2 * 1/2007 Corman et al. ................. TO4/9 7,171,618 B2 * 1/2007 Harrington etal ... 715,229 of names in the name list through a standard compressor 7,178,100 B2 * 2/2007 Call ........................... 71.5/210 Software application package. Decompressing of names uses 2002/0006164 A1 1/2002 Felts ..................... 375,240.19 Sub operations inverse to the prefix compressor algorithm. 2003,019 1719 A1 10, 2003 Ginter et al. The decompressing Sub operations create a string pointed to 2004/011774.0 A1* 6, 2004 Chen et al. ... ... 715,531 by the prefix pointer and concatenated onto the string pointed 2005. O157217 A1* 7, 2005 Hendricks ... ... 348,734 to by the name pointer; and thus a full name is created. 2005/0198070 A1* 9/2005 Lowry ..................... TO7 104.1 2005/0216421 A1* 9/2005 Barry et al. ................... TO5/64 4 Claims, 2 Drawing Sheets COMPRESSION OFHER-ARCICALSyd IDENTIFEERSMETHOD 70 C0MPRESSNAMESBYPERFOR&N8 SUBOPERATIONS - SORTINGNAMESINLEXICAL, OREERSUBERATION - SPLETTING FULLNAMESNTO A FERARCHY STAND 74 SPLITTING FULL NAMES INTO AREMANDERSTsuB Y OPERATIONS - - - CQMRESSINGPREFEXES OF NAMESNERARCYLis8tje PERATION COMPRESSN3PREFXES OF NAMES INNAMELIST RUNNING OUTPUT OF COMPRESSE pREEixes of NAMESN HERARCHYLISTAND RUNNRNG dUTPUT OF COMPRESSED PREFXES OF NAMESNNAMELISTSUBOPERATIONS DECOMPRESSINGNAMESSYPERFORMINGSL3 OpERATION3 RNNDNG COMPRESSEDHERARCELISTANINAMES THROUGHECOMPRESSRSOFTWAREACKAE READINGWAUEATSTART OF AN ENTRY COPYNg QUANY OF Byres FROx1FRECEDG ENTRY APPENING FOLLOWINGSTRING SETTING ONER STEPPING THROUGHNAME ENTRIES CREATINKstriNg PoNTED TO ANDREATING Full NAME - 8s 38 - U.S. Patent Oct. 28, 2008 Sheet 1 of 2 US 7.444,347 B1 COMPRESSION OF HIERARCHICAL IDENTIFIERS METHOD 70 1. 72 COMPRESS NAMES BY PERFORMING SUB OPERATIONS 1. 73 SORTING NAMES IN LEXICAE ORDER SUB OPERATION 1. SPLITTING FULL NAMES INTO A HIERARCHY LIST AND 74 SPLITTING FULL NAMES INTO AREMAINDER LIST SUB 1. OPERATIONS COMPRESSING PREFIXES OF NAMES IN HIERARCHY LIST SUB 1. 75 OPERATION 76 COMPRESSING PREFIXES OF NAMES IN NAME LIST l1 RUNNING OUTPUT OF COMPRESSED PREFIXES OF NAMES IN 77 HIERARCHY LIST AND RUNNING OUTPUT OF COMPRESSED 1. PREFIXES OF NAMES IN NAME LIST SUB OPERATIONS 78 DECOMPRESSING NAMES BY PERFORMING SUB OPERATIONS 1. RUNNING COMPRESSED HIERARCH LIST AND NAME LIST 1. 79 THROUGH DECOMPRESSOR SOFTWARE PACKAGE 80 READING VALUE AT START OF AN ENTRY 1. COPYING OUANTY OF BYTES FROM PRECEDING ENTRY - 81 82 APPENDING FOLLOWING STRING -1 SETTING POINTER - 83 STEPPING THROUGH NAME ENTRIES a-a- 84 CREATING STRING POINTED TO AND CREATING FULL NAME 85 86 U.S. Patent Oct. 28, 2008 Sheet 2 of 2 US 7.444,347 B1 COMPRESSION OF HIERARCHICAL IDENTIFIERS SYSTEM 20 COMPUTER N. WORKSTATION PROCESSOR 22 HERARCHICAL LIST 23 REPOSITORY 26 MEMORY 24 N nth NAME LIST Lin PREFIX LIST LA NAME LIST L3 PROGRAM UNIT 40 REMAINDER LIST 2 PROGRAM 41 HERARCHY LIST LI MEMORY CONTROLLER Algorithm An ALGORTHM UNIT 30 1. 27 NETWORK INTERFACE 28 OUTPUT DEVICE 34 MOUSE 29 KEYBOARD 60 PLURALITY OF NETWORKED COMPUTER DEVICES 51 FIG. 2 US 7,444,347 B1 1. 2 SYSTEMS, METHODS AND COMPUTER string starting at the String beginning at +k bytes. Compress PRODUCTS FOR COMPRESSION OF ing prefixes of names in the name list is performed by running HERARCHICAL IDENTIFIERS an output of compressing of prefixes of names in the hierar chy list and running an output of the compressing of prefixes TRADEMARKS of names in the name list through a standard compressor Software application package, where the standard compressor IBM(R) is a registered trademark of the International Busi Software application package includes bzip2, which produces ness Machines Corporation, Armonk, N.Y., U.S.A. Other a compressed hierarchy list in conjunction with operations names used herein may be trademarks and registered trade compressing prefixes of names in a name list. In the exem marks, or trade or product names of International Business 10 plary embodiment, decompressing of names uses the inverse Machines Corporation or other companies. of the prefix compressor algorithm and is performed by run ning the compressed hierarchy list and the name list through TECHNICAL FIELD a standard decompressor Software application package, and where the standard decompressor Software application pack This invention relates generally to networked computer 15 age includes bzip2, then the Sub operations of reading a value system administration and management, software services, at a start of an entry; copying a quantity of bytes from a application solutions and data replication management preceding entry; and appending a string that follows; then directed to data handling programs. Such as event monitoring setting a pointer at a beginning of the prefix list and setting a in Software management applications, data mining, pattern pointer at a beginning of the name list. This operation is recognition, data analysis, data transcoding and data conver followed by stepping through the name entries one by one sion operating in various operating system environments until no names exist, when the flag emitted when a full name’s including UNIX operating systems, as well as implementa hierarchy changes from the preceding name is encountered, tions in hardware directed to keeping memory Small. More then this flag is used to indicate that the prefix pointer is particularly, this invention relates to storage management of moved forward by one entry for the next element in the hierarchical identifiers in simulation models and netlists, in 25 hierarchy list. These operations create a string pointed to by data compression and decompression applications. This the prefix pointer and concatenated on to the string pointed to invention can be applied to any system running any service by the name pointer, and thus a full name is created. provider application and/or operating system. BRIEF DESCRIPTION OF THE DRAWINGS BACKGROUND 30 The Subject matter that is regarded as the invention is Known general purpose algorithms. Such as ZipfgZip are particularly pointed out and distinctly claimed in the claims at used for reducing large storage requirements for large models the conclusion of the specification. The foregoing and other and netlists. In general, for large models and netlists, the objects, features, and advantages of the invention are apparent storage requirements are concomitantly large and the com 35 from the following detailed description taken in conjunction pression and decompression operations perform very slowly. with the accompanying drawings, which are meant to be Therefore, the need exists for methods and systems that exemplary, and not limiting, wherein: reduce the storage requirements and increase performance FIG. 1 illustrates operations of the method of storage man speeds for large models and netlists compression and decom agement of hierarchical identifiers. pression operations. In addition, the need exists for improving 40 FIG. 2 illustrates the system implementing operations of the compressibility of data. the method illustrated in FIG. 1. SUMMARY OF THE INVENTION DETAILED DESCRIPTION A method of storage management of hierarchical identifi 45 The disclosed exemplary embodiments are intended to be ers in simulation models and netlists is accomplished using a illustrative only, since numerous modifications and variations prefix compressor algorithm running on a general purpose therein will be apparent to those of ordinary skill in the art. In computer processor executing computer executable program reference to the drawings, like numbers will indicate like code that causes the general purpose computer processor to parts continuously throughout the view.