TL;DR: In this article, a pre-processor examines each class file in a set of class files to locate duplicate information in the form of redundant constants contained in a constant pool, and all occurrences of the constant are removed from the respective constant pools of the individual class files.
Abstract: A method and apparatus for pre-processing and packaging class files. Embodiments remove duplicate information elements from a set of class files to reduce the size of individual class files and to prevent redundant resolution of the information elements. Memory allocation requirements are determined in advance for the set of classes as a whole to reduce the complexity of memory allocation when the set of classes are loaded. The class files are stored in a single package for efficient storage, transfer and processing as a unit. In an embodiment, a pre-processor examines each class file in a set of class files to locate duplicate information in the form of redundant constants contained in a constant pool. The duplicate constant is placed in a separate shared table, and all occurrences of the constant are removed from the respective constant pools of the individual class files. During pre-processing, memory allocation requirements are determined for each class file, and used to determine a total allocation requirement for the set of class files. The shared table, the memory allocation requirements and the reduced class files are packaged as a unit in a multi-class file.
TL;DR: The implementation is a lightweight proxy class that exploits only common C++ features and can be compiled with most modern compilers and targeted towards performance-critical applications such as low-level networking in which the use of C++ is already widespread.
Abstract: Techniques for dynamically adding new code to a running program already exist in various operating systems, programming languages and runtime environments Most of these systems have not found their way into common use, however, since they require programmer retraining and invalidate previous software investments In addition, many of the systems are too high-level for performance-critical applications This paper presents an implementation of dynamic classes for the C++ language Dynamic classes allow run-time updates of an executing C++ program at the class level Our implementation is a lightweight proxy class that exploits only common C++ features and can be compiled with most modern compilers The proxy supports version updates of existing classes as well as the introduction of new classes Our language choice and proxy implementation is targeted towards performance-critical applications such as low-level networking in which the use of C++ is already widespread
TL;DR: In this article, a file reconciliation process in a distributed file reconciliation system uses a set of journal or log files to track the history of file modification at each of the sites or sets of directories in a computer system.
Abstract: A file reconciliation process in a distributed file
system uses a set of journal or log files to track
the history of file modification at each of different
sites, or sets of directories, in a computer system
During reconciliation, sequences of version entries
associated with each file in each journal are updated
and compared to determine whether (1) a conflict
exists for any of the files involved in the reconciliation,
and (2) if not, which version of the file
is the current version The version entries contain a
hash code or digest that to a high probability
uniquely identifies the contents of a file Sequences
of hash codes are used to identify the sequence of
file versions Masks and site indicator fields are
included in the journal files and used to track which
journal files have copies of version entries for the
purpose of deleting version entries when they become
obsolete
TL;DR: A technique for converting displayable objects of a graphics user interface (GUI) display into a code representation with minimal user intervention is described in this article, where the technique includes creation of the GUI display and analysis of each displayable object when prompted by the user to convert to code representation.
Abstract: A technique for converting displayable objects of a graphics user interface (GUI) display into a code representation with minimal user intervention. The technique includes creation of the GUI display and analysis of each displayable object when prompted by the user to convert to a code representation. The analysis features accessing parameters of each displayable object to produce an object data file, a color data file storing colors used by the displayable objects of the GUI display and a bitmap data file to contain bitmaps of logos or images featured in the GUI display. These data files are complied with an implementation file featuring a software library to generate an executable program having the code representation of the GUI display.
TL;DR: In this article, a file attribute of a file is analyzed to determine if native program code for a particular platform is associated with the file, and the file is retrieved and executed directly without the additional overhead associated with interpreting the platform-independent program code in the file.
Abstract: A computer system, program product, and method utilize alternate program code associated with an executable file using a file attribute so that the alternate program code may be retrieved and executed in lieu of the primary program code stored in the file. As one example, for a platform-independent executable file such as a Java class file, a file attribute of the file may be analyzed to determine if native program code for a particular platform is associated with the file. If so, the native program code may be retrieved and executed directly without the additional overhead associated with interpreting the platform-independent program code in the file. If, on the other hand, the native program code is not detected, the native program code may be generated and associated with the file using a file attribute such that the native program code is detected in subsequent attempts to retrieve and execute the file.
TL;DR: In this article, the authors present a method and apparatus for restricting a process or process hierarchy to a subset of a computer host's file system(s) in an environment where all file systems are simultaneously available to an application.
Abstract: The present invention provides a method and apparatus for restricting a process or process hierarchy to a subset of a computer host's file system(s) in an environment where all file systems are simultaneously available to an application. A caller is provided with the ability to arrange for the restriction of a process hierarchy (consisting of a process and all the processes it may subsequently create) to a set of file system sub-hierarchies. When a process executes within a restriction domain in which a sub-hierarchy has been specified for each of the available file systems, an embodiment of the invention will modify the usual operation of the host computer's operating system interface such that any file system access attempts by the affected process are constrained to occur logically within the restriction domain.
TL;DR: In this paper, the authors present a method, apparatus, and article of manufacture for creating a parallel programming development environment consisting of a graphical user interface, that contains a system screen, an application screen, a code generator, a process distributor, and an applications monitor.
Abstract: A method, apparatus, and article of manufacture for creating a parallel programming development environment. The environment comprises a graphical user interface, that contains a system screen, an application screen, a code generator, a process distributor, and an applications monitor. The system and application screens are displayed on the monitor and are used to display the topology of the computer system and for selecting portions of the system for use in a parallel application. The code generator receives a user application file from the application screen and generates programming code based on the contents of the user application file. The process distributor, distributes the executable code within the topology of the computer system as allocated by the user in the application file. The application monitor monitors the user application file and maintains statistics on the user application file.
TL;DR: In this paper, a system for identifying the file structure of a computer program, preserving the structure of the code after translation of source code from one high-level computer language to another, combining pieces of a source file that were generated in different translation sessions, and ensuring textual consistency of each piece of generated code in the resultant code files.
Abstract: A system for identifying the file structure of a computer program, preserving the file structure of the code after translation of source code from one high-level computer language to another, combining pieces of a source file that were generated in different translation sessions, and ensuring textual consistency of each piece of generated code in the resultant code files.
TL;DR: In this paper, a data structure and method for transferring object attributes between platforms in a distributed computing environment is described, where the attribute description file is transferred to a platform and the type information file includes a memory offset map that determines a sequence of attribute data storage in the attribute data block.
Abstract: A data structure and method are disclosed for transferring object attributes between platforms in a distributed computing environment. The method includes creating an application description file. The application description file includes a type ID (406) and an object name (408). The type ID references a type information file. The application file includes an attribute data block (410) and the attribute data block contains data for attributes that are included in the object. The attribute description file is transferred to a platform that includes the type information file and the type information file includes a memory offset map that determines a sequence of attribute data storage in the attribute data block. Thus, the object attributes are received by the platform and the type information file provides a memory offset map for individual attributes in the attribute description file.
TL;DR: In this paper, the authors present a method and apparatus for programming a programmable hardware device of a local computer system that is connected to a network, using a programming file that is resident on a remote system which is also connected to the same network.
Abstract: A method and apparatus for programming a programmable hardware device of a local computer system that is connected to a network, uses a programming file that is resident on a remote system which is also connected to the same network. A method for facilitating such programming includes providing a Java-language program that is capable of accessing a programming file having data, providing a Java Native Interface (JNI) implementation that is capable of facilitating a sending of data from the programming file to the programmable hardware device, and providing a Java Native Interface that facilitates communication between the Java-language program and the JNI implementation. Another method for such programming by a user includes accessing a programming file having data and located on a computer system that is remote from the local system and connected to the local system through a network, using a Java program. The method also includes retrieving the data from the programming file and sending the retrieved data to the programmable hardware device, such that the retrieving and sending are facilitated by using a particular Java Native Interface (JNI) and a particular JNI implementation.
TL;DR: In this article, the authors present a method for determining a source of failure during a failed file access in a computer system, using a sequence of file references from a first location in the computer system.
Abstract: One embodiment of the present invention provides a method for determining a source of failure during a failed file access in a computer system. This method generates a sequence of file references from a first location in the computer system, and maintains a record of parameters specifying the sequence of file references. The results of the sequence of file references are examined to detect a failure during a file reference. If a failure is detected, the failed file reference is reconstructed using the record of parameters, and is then retried to determine the source of failure. In between retries, the method allows various system components to be manipulated to isolate the source of failure. In one embodiment, these manipulations include: replacing hardware components; replacing system firmware; replacing software components; and inserting debug code into a program on the computer system. Another embodiment of the present invention transfers file reference parameters to a second location in the computer system, so that the failed file reference can be retried from the second location in order to isolate the source of the failure.
TL;DR: In this paper, a system and method for reducing file names and retrieving files having reduced file names is described, where the file manager divides the original file name into a set of primary and extension characters, and then truncates the primary characters and the extension characters.
Abstract: A system and method are disclosed for reducing file names and for retrieving files having reduced file names. In response to a request to access file names that are not supportable by an applications programming interface (API), a file manager program retrieves an original file name having an original file name length and an original file identifier. Next, the file manager divides the original file name into a set of primary characters and a set of extension characters. A shortened identifier having a set of shortened identifier characters is created by encoding the original file identifier. The primary characters are then truncated. A reduced file name is then created by combining the truncated characters, a reduced file name marker, the shortened identifier, and the extension characters. Files having reduced names are retrieved by a file manager that identifies a set of shortened identifier characters in a reduced file name, decodes the shortened identifier characters, and retrieves a file based on the decoded identifier characters from a data volume.
TL;DR: This work proposes a compression scheme that is tailored to class files and achieves significantly better compression than commonly used methods such as ZIP.
TL;DR: In this article, a system, method and computer program product for compiling and linking a source file and to generate a symbol table associating a global symbol with a register referenced in the source file is presented.
Abstract: A system, method and computer program product for compiling and linking a source file and to generate a symbol table associating a global symbol with a register referenced in the source file. The symbol table enables a linker to initialize the global registers using a relocation entry which holds an initializer. The compiler also generates an object file from the source file. The object file includes the global symbol information. A linker links the object file potentially with at least one other object file or shared library to thereby generate an executable file or shared library. The linker uses the global symbol information contained in the object file to initialize the global registers and to perform relocation operations.
TL;DR: A self-contained application may be distributed and automatically executed within a network client environment, such as within a web browser environment as discussed by the authors, and the implementation of such an application includes a first package that includes a manifest and an archive of files, including a markup language file that is the initial file to be processed and instructions for initiating execution of the application.
Abstract: An implementation of a self-contained application may be distributed and automatically executed within a network client environment, such as within a web browser environment. The implementation of the self-contained application includes a first package that includes a manifest and an archive of files. The archive of files includes a markup language file that is the initial file to be processed and that includes instructions for initiating execution of the application. In the implementation, the archive of files also includes other files needed to execute the application and a second package that may be of the same type as the first package. The manifest file includes an initial file identifier that instructs the application to process the markup language initial file before processing the other files.
TL;DR: This paper presents an efficient method for generating files of patterns; each pattern is a transformation of the first several bytes of a library function's executable code.
Abstract: Re-engineering from legacy executable (binary) files is greatly facilitated by identifying and naming statically linked library functions. This paper presents an efficient method for generating files of patterns; each pattern is a transformation of the first several bytes of a library function's executable code. Given a suitable pattern file, a candidate function can be identified in linear time. One pattern file is generated for each combination of compiler vendor, version and memory model (where applicable). The process of identifying these parameters in a given executable file also identifies the main function of the program, i.e. the start of the code written by the user. The pattern files are produced automatically from a compiler's library file in a few seconds, with no user intervention required. Due to various limitations, not all library functions can be identified correctly; a small number will be either incorrectly identified or not identified. Optimal perfect hash functions are used to keep the pattern files compact and efficient to process.
TL;DR: The paper illustrates the current state in transmitting Java applets (compiled bytecode) over the net, as well as the integration of SOC into this framework, and the file sizes of various representations of a typical Java applet.
Abstract: Summary form only given. The immense demand of required network bandwidth to load computer programs like Java applets or applications within an acceptable time makes efficient compression schemes highly desirable. Syntax-oriented coding (SOC) is a new compression scheme that is able to eliminate redundancy caused by syntactical restrictions. Current compression schemes with a lexical view of the source cannot efficiently exploit knowledge of these restrictions. The paper illustrates the current state in transmitting Java applets (compiled bytecode) over the net, as well as the integration of SOC into this framework. The smart and seamless integration of SOC in the existing Java architecture is obvious. In the compression performance of SOC, the paper depicts the file sizes of various representations of a typical Java applet: the size (containing no comments) of the (ASCII-) source code, the size of the class file (bytecode), the size of the compressed (Ziv-Lempel coding) class file and the size of the SOC-code. Using SOC a compression ratio of more than 6 is obtained compared to the Java class file, and even if the class file is Ziv-Lempel coded a ratio of more than 4 is still reached, reducing required bandwidth by 75 percent.
TL;DR: In this paper, a method and apparatus is provided that is capable of distributing data within a file having an HTML format, where a first process creates the data, encodes it in a known format such as MIME Base64, and embeds the data within the comment section of an HTML file.
Abstract: A method and apparatus is provided that is capable of distributing data within a file having an HTML format. A first process creates the data, encodes it in a known format such as MIME Base64, and embeds the data within a comment section of an HTML file. A second process, preferably implemented as a browser plug-in application, is used to extract the data from the HTML file and store the data in a separate data file. A third process creates an HTML file that launches an applet that uses the data, and contains applet parameters including the paths to the separate data files in which the extracted data resides.
TL;DR: In this paper, a method of configuring software applications is presented, in which a configuration file processing library is used to implement a configurable file processor for reading and manipulating data in a generic configuration file.
Abstract: A method of configuring software applications is
provided. A configuration file processing library (104)
implements a configuration file processor. Applications
are compiled utilizing the configuration file processing
library (104) to generate generic configuration file
processing code for reading and manipulating data in a
generic configuration file (100). When the file is
executed, the application (102) instantiates a
configuration file processor applications programming
interface through which the configuration file (100) is
read or manipulated by applications independent of the
user's operating environment.
TL;DR: In this paper, the authors present a program creation apparatus for a software development system capable of deleting some modules during an execution, where a header file and a source file are compiled by a compiler using a compile information 32 from a compile processing block 34 and the header file 30, so as to create an object file 35.
Abstract: The present invention provides a program creation apparatus for a software development system capable of deleting some of modules during an execution. A header file 30 and a source file 31 are compiled by a compiler 33 using a compile information 32 from a compile processing block 34 and the header file 30 , so as to create an object file 35 . Using a linker 38 , a link information 37 , and a library file 36 , the object file 35 is linked in a link processing block 39 so as to become an execution-formatted file 40 . A composite execution-formatted file information 41 provides an information about the execution-formatted file 40 to be contained in a composite execution-formatted file format file 43 . According to this information, a composite execution-formatted file creation block 42 is supplied with an initialization program 78 and a plurality of execution-formatted files 40 and outputs the single composite execution-formatted file format file 43.
TL;DR: In this paper, a method for updating an original speaker's speech file in a speech application, comprises the steps of: creating a recognition file during a speech recognition session using the original speakers language model on a first machine and with a first user identification; copying the recognition file; creating a file log of corrections, including changes to the language model and baseforms for newly added words, during a correction session utilizing the copied recognition file and out of association with the original speaker language model in the first machine with user identification.
Abstract: A method for updating an original speaker's speech file in a speech application, comprises the steps of: creating a recognition file during a speech recognition session using the original speaker's language model on a first machine and with a first user identification; copying the recognition file; creating a file log of corrections, including changes to the language model and baseforms for newly added words, during a correction session utilizing the copied recognition file and out of association with the original speaker's language model in the first machine with the first user identification; and, copying the changes to the language model and the baseforms for newly added words from the file log back to the original speaker's speech file on the first machine using the first user identification The copied recognition file can be opened and corrected on a second machine or with a second user identification
TL;DR: In this paper, the problem of easily printing data even if use environment changes by performing conversion to a control code according to information of a header part added to a data file received on the printer side is solved.
Abstract: PROBLEM TO BE SOLVED: To easily print data even if use environment changes by performing conversion to a control code according to information of a header part added to a data file received on the printer side. SOLUTION: When a user instructs on the printing of an object document file, a header generation part 9 generates a header part corresponding to the document file and adds it to the document file. The document file to which the header part is added is transmitted onto a network 2 from a network communication part 10. When this document file is received by the network communication part 4 of the printer 1, a data converting processing part 5 takes respective pieces of information of the added header part to decides the kind of the document file and also decide the print format of the document file. Then retrieval from a control code converting method storage table is performed to call the control code converting method corresponding to the kind of the document file and the print data of the document file are converted into the control code characteristic of the printer.
TL;DR: In this paper, the authors present a method for supporting multiple file-systems in file input/output (I/O) operations, where the interfaces within the source language are independent of the specified file system, so that support of any number of different file systems can be accomplished with relative ease.
Abstract: A method, apparatus, and article of manufacture for handling access to multiple file-systems from a program written in a high-level language such as COBOL, programming language compilers and run-time environments. More specifically, the present invention provides a computer-implemented method for supporting multiple file-systems in file input/output (I/O) operations. As a result, an object program has access to different file-systems without recompilation. Further, the interfaces within the source language are independent of the specified file-system, so that support of any number of different file-systems can be accomplished with relative ease. In addition, the ability to dynamically select a file-system on a file-by-file basis is provided, thereby allowing the program to use a first file-system for one file and a second file-system for another file.
TL;DR: An ordered object linking and embedding (OOLE) file is a valid OLE file whose sectors are placed in a predetermined order as discussed by the authors, and it may be used to provide progressive viewing capability during streaming type transfers.
Abstract: An ordered object linking and embedding (OOLE) file is a valid object linking and embedding (OLE) file whose sectors are placed in a predetermined order. If the OOLE file is an image file, it may be used to provide progressive viewing capability during streaming type transfers. One example streaming type transfer protocol is the hypertext transfer protocol.
TL;DR: In this paper, a decoder class that is related to a data type is decided from inputted media data by search about all positions that are acquired in a class pass vector including a transmission source position of input media data.
Abstract: PROBLEM TO BE SOLVED: To perform transparency download of a software decoder together with media data from a network to a user computer by deciding a decoder class that is related to a data type. SOLUTION: A media data type is decided from inputted media data. Search about all positions that are acquired in a class pass vector including a transmission source position of input media data is carried out in order to decide the position of a codec class file about a prescribed class name. When the position of the codec class file is traced, a class loader of a virtual machine loads the class file to a media application 104 for integration. When the codec class file exists at a transmission source position of media data on the other side of a network 105. the class loader downloads a codec class file from the network 105. COPYRIGHT: (C)1999,JPO
TL;DR: In this article, a system, method and computer program product for compiling a source file and to generate a data structure associating a global symbol with a global register referenced in the source file is presented.
Abstract: A system, method and computer program product for compiling a source file and to generate a data structure associating a global symbol with a global register referenced in the source file. The data structure enables a linker to initialize the global registers. The compiler also generates an object file from the source file. The object file includes the global register information. A linker links the object file potentially with at least one other object file or shared library to thereby generate an executable file or shared library. The linker uses the global symbol information contained in the object file to initialize the global registers and to perform relocation operations.
TL;DR: In this paper, the problem of eliminating the time and labor of an operation by obtaining and filing the image (file) of a medium and a text (file), which is a character recognized result for a handwritten character or the like based on the image, is addressed.
Abstract: PROBLEM TO BE SOLVED: To eliminate the time and labor of an operation by obtaining and filing the image (file) of a medium and a text (file) which is a character recognized result for a handwritten character or the like based on the image. SOLUTION: An input/output part 10 prepares the image file by reading contents recorded on a paper medium such as a document and a slip, etc., prepares the text file for all the characters obtained by executing a character recognition processing to the read image and stores them in a document information storage part 12. The document information storage part 12 prepares title information for indicating the correspondence relation of the prepared image file and text file, respectively stores both files, and in the case that retrieval is requested from a retrieval part 14, retrieves the text file based on a specified character string, discriminates the image file corresponding to the pertinent text file from the title information and outputs it to the retrieval part 14. COPYRIGHT: (C)1998,JPO
TL;DR: In this article, the copied information is arranged in an individual common table and all the occurrences of constants are removed from the constant loops of individual class files, and the memory allocation matters are decided for the respective class files and used to determine the allocation matters of the whole set of class files.
Abstract: PROBLEM TO BE SOLVED: To obtain a method and device for preprocessing and packaging a class file by obtaining a reduced class file by removing copied elements from plural class files and constituting a plural-class file including the reduced class file and a common table. SOLUTION: A server 100 includes Java development environment 104. A preprocessor checks respective class files in one set of class files 107 to search for copied information in the form of a redundancy contact included in a constant loop. The copied information is arranged in an individual common table, and all the occurrences of constants are removed from the constant loops of individual class files. In preprocessing, memory allocation matters are decided for the respective class files and used to determine the allocation matters of the whole set of class files. The memory allocation matters and reduced class file are packaged into a single unit in the multi-class file.
TL;DR: In this paper, a method of updating a first version of an application file installed on a client computer to a second version comprises the steps of: responsive to receiving a delta file defining file changes, transforming the first version into a first transform comprising a series of records; applying the changes defined by the delta file to selected ones of those records to generate a transform of the second version.
Abstract: A method of updating a first version of an application file installed on a client computer to a second version comprises the steps of: responsive to receiving a delta file defining file changes, transforming the first version into a first transform comprising a series of records; applying the changes defined by the delta file to selected ones of those records to generate a transform of the second version; and reverse-transforming the latter transform to generate the second version of the application file. The use of the delta file minimises the amount of data that needs to be downloaded from a server to the client computer across a network (e.g. the Internet). The application may comprise Java class files.
TL;DR: This book discusses Java and STD Design, Drawing and Image Processing with Java - The Tuttle Class, and Incorporating the Undo Capability into the Interfaces.
Abstract: 1. An Introduction to Java and STD Design. The ClickCounter Application Class. The ClickCounter Behavioral Design. Application, Presentation and Translation Implementation. The ClickCounterPresentation Class. The ClickCounterTranslation Class. ClickCounter - Executing the Applet in a Browser. ClickCounter - Producing an Executable. 2. A Whistle Stop Tour of the Abstract Windows Toolkit. The Abstract Windows Toolkit. The AWT Class Hierarchy. The Label Class. The Component Class. The Button Class. The Checkbox and CheckboxGroup Classes. The Choice Class. The List Class. The Scrollbar Class. The Canvas Class. The TextComponent, TextArea and TextField Classes. PopUp Menus. The ScrollPane Class. 3. Extending Pre-Supplied AWT Components. The StikNote Application, Visual Appearance and STD Design. StikNote Design Overview. The StikNoteWindow Class. The StikNote Class. The NoteWindow Class. The MessageCanvas Class. The DatePanel, Visual Design and Behavior. The DatePanel Design Overview. The DateUtility Class. The DayBox Class. The MonthPanel Class. The DatePanel Class. The DatePanelDemonstration Class. 4. Drawing and Image Processing with Java - The Tuttle Class. The Public Resources of the Tuttle Class. The Graphics and Color Classes. The Construction of the Tuttle Class. The TuttleCursor Class. The TuttleTest Demonstration Class. 5. The Semi-Direct User Interfaces. The TuttleButton Class. The SemiDirectTuttle Interface. SemiDirectTuttle, Construction Overview. The SemiDirectTuttleInterface Class. The SemiDirectTuttle Class. 6. Application-Level Pull-Down Menus. The MenuBarTuttle Interface. The MenuComponent Hierarchy. MenuBarTuttle Construction Overview. The MenuBarTuttleInterface Class. The MenuBarTuttle Class. The Dialog Class. The ExitDialog Class. The VersionDialog Class. The HelpDialog Class. Menu Accelerators. 7. Text-Based User Interfaces. The TextTuttle Class. The TextMenuTuttle Interface. The TextMenuTuttleInterface Class. The TextMenuTuttle Class. The CommandLineTuttle Interface. The CommandLineTuttleInterface Class. The CommandLineTuttle Class. Evaluating the Interfaces. 8. Undo, Load, and Save Capabilities. The Tuttle Class Revisited. The BufferedTuttle Class, Undo Capability. Incorporating the Undo Capability into the Interfaces. The BufferedTuttle Class, Save and Load Capability. The MenuBarTuttle Interface, Open Operations. The MenuBarTuttle, Save Operations. Logging the User's Actions. 9. Customization, Localization, and Internationalization. System Properties. User Customization. Linguistic Localization of the ExitDialog. Linguistic Localization of the DatePanel. Other Localization Facilities. Appendix A: Other Resources. Appendix B: Source Code Omitted from the Chapters. Appendix C: Terminology and Design Notations.