US20090037386A1 - Computer file processing - Google Patents
Computer file processing Download PDFInfo
- Publication number
- US20090037386A1 US20090037386A1 US12/184,904 US18490408A US2009037386A1 US 20090037386 A1 US20090037386 A1 US 20090037386A1 US 18490408 A US18490408 A US 18490408A US 2009037386 A1 US2009037386 A1 US 2009037386A1
- Authority
- US
- United States
- Prior art keywords
- data stream
- serial data
- computer
- file
- files
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/169—Annotation, e.g. comment data or footnotes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K15/00—Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
Definitions
- This application is further related to:
- Embodiments of the invention generally relate to the field of computer systems and, more particularly, to a method and apparatus for computer file processing.
- computer files including Java class files
- a set of class files may be in the form of a file hierarchy, which may not be easily searchable in an efficient manner.
- the files may be contained in an archive, which requires additional effort in the need to expand files to obtain the archived data. As a result, the identification of elements within the computer files may require significant processing time.
- a method and apparatus are provided for computer file processing.
- an embodiment of a method includes receiving a serial data stream input, where the serial data stream input represents a set of computer files.
- the serial data stream input is scanned to extract selected data elements occurring in the set of computer files, and the selected data elements are output in a serial data stream output.
- a embodiment of a system in a second aspect of the invention, includes a data input, where the data input is to receive an serial data stream input, the serial data stream input representing a set of computer files.
- the system further includes a processing module, where the processing module is to scan the serial data stream input to identify one or more elements in the set of computer files.
- the system also includes a data output, with the data output providing an extracted serial data stream output representing the identified elements of input data stream.
- FIG. 1 is an illustration of an embodiment of a file traversal process to produce a serial data stream
- FIG. 2 a is an illustration of a file hierarchy including an archive that may be processed in an embodiment of the invention
- FIG. 2 b is an illustration of an archive that may be processed in an embodiment of the invention.
- FIG. 3 is an illustration of an embodiment of processing of class file data
- FIG. 4 is an illustration of a class file data processing system
- FIG. 5 is a flowchart to illustrate an embodiment of class file stream processing
- FIG. 6 is an embodiment of library utilities
- FIG. 7 is an illustration of a computer system in an embodiment of the invention.
- FIG. 8 illustrates an embodiment of a client-server network system.
- Embodiments of the invention are generally directed to computer file processing.
- Computer file means any file structure used in a computer system.
- Computer files include files with specific required structures, including Java class files.
- Class file means a Java class file.
- a Java class file is a defined format for compiled Java code, which may then be loaded and executed by any Java virtual machine.
- the format and structure for a Java class file is provided in JSR (Java Specification request)-000202, Java Class File Specification Update (Oct. 2, 2006) and subsequent specifications.
- Traversal means a process for progressing through the elements of a computer system, including a process for progressing through the elements of a computer archives
- “Archive” means a single file that may contain one or more separate files.
- An archive may also be empty.
- the files within an archive are extracted, or separated, from the archive for use by a computer program.
- the files contained within an archive are commonly compressed, and the compressed files are decompressed prior to use.
- An archive may further include data required to extract the files from the archives “Archive” may also refer to act of transferring one or more files into an archives
- compression means the conversion of data into a form that requires less storage space.
- compression includes the use of any known compression algorithm. “Compression” also may commonly be referred to as “zipping” a file.
- the reverse process to compression is decompression, or expansion, of the compressed data back into a usable form. Compressed data is decompressed (expanded or unzipped) prior to use. Compression includes both lossy compression, in which data is lost in the process of compression, and lossless compression, in which no data is lost in the process of compression.
- computer files are processed in the form of a data stream.
- the computer files may include, but are not limited to, Java class files.
- the computer files are converted to a serial data stream input for processing, and the processing of the computer files is conducted with the data remaining in the data stream form.
- a set of computer files are processed in a single pass as a serial data stream.
- the serial data stream form is maintained both on input and output, thereby allowing further processing of class files without further file conversion.
- the same data format is used for the data input and the data output.
- the data stream conversion allows processing without any dependency on random access files, and broadens the applicable scope of the process for the input.
- the processing of class files as a data stream allows processing without requiring use of, for example, Java library utilities that may normally be required to conduct the file processing.
- a system includes a serial data processing module for scanning received data.
- the processing module receives computer files in the form of a serial data stream, and outputs an extracted data stream.
- the processing module processes the files in a single pass, without requiring multiple readings of the file data.
- the conversion of computer files to a data stream allows for the use of a protocol for both the data producer (the computer file processor) and the data consumer without creating a complete file representation, thereby simplifying the data structure.
- the processing system operates with a class file data model, without requiring the addition of any major abstraction for data processing.
- the conversion of computer files to a serial data format may include, but is not limited to, the operation of a traversal of a hierarchical data structure or of a data archive as provided respectively in U.S. patent application Ser. No. 11/648,065, entitled “Computer File System Traversal”, filed Dec. 30, 2006.
- Other processes for conversion of a set of files to a serial data stream may also be utilized in embodiments of the invention.
- a system provides high performance for inner loop class file processing.
- processing is designed to provide sufficient performance for overall computer file processing.
- a system includes stream buffering to buffer data as it is obtained and processed.
- an embodiment of the invention provides a compact internal file state in the data stream, thereby minimizing the amount of data that will be required in the process of transferring and processing the computer files.
- a dedicated, independent processing module is provided.
- the processing module may be utilized to identify type dependency data or annotation data in a serial data stream.
- a similar design and implementation may be utilized for either type of data,
- a file processor may be provided in multiple implementations, depending on the system requirements.
- native processing implementations may be provided for a computer file processor, with the native implementations being based upon relevant Java standards.
- a non-native implementation may be provided, as required.
- a particular non-native implementation may include a BCEL (Byte Code Engineering Library) implementation, with the BCEL API being a toolkit for the static analysis and dynamic creation or transformation of Java class files.
- BCEL Binaryte Code Engineering Library
- a data consumer is a main framework expansion point for which neutral utility implementations might be required.
- a file processor (the data producer) operates using the same data protocol as the data consumer protocol.
- the data consumer may have control over the data to be provided to the data consumer.
- the data producer and the data consumer may cooperate to agree on the data to be provided from the serial data stream.
- a system may include complexity control, including configuring the file processor to deliver the data of interest.
- the data of interest includes data meeting a certain degree of detail, or certain types of data.
- the structure of the data processing may allow for a system to be utilized with loose semantics and implementation constraints. For example, the technical framework and protocol data types may be defined. However, there may be leeway for implementation characteristics, such as the result order sequence and analysis capabilities.
- file processing may be included within a set of tools that are provided to search files.
- the tools may, for example, provide for the conversion of files into serial form by a traversal process, the scanning of data for desired elements, and other related processes.
- a process is applied to Java class files contained within a hierarchical file structure or within a Java archive (or JAR file), including class files for J2EE systems (Java 2, Enterprise Edition).
- the output of process for traversal of the hierarchical file structure or archive is a class file data stream.
- An embodiment may utilize Java under the JDK (Java Development Kit) 5.0, including the JSR-175 recommendation regarding code annotations.
- the class files may contain elements such annotations or occurrences of particular class types, and there may be a need to extract these elements from the class files.
- the class files are converted to a serial data stream format for the input to a processing module, and the processing module scans the serial data stream and extracts the desired elements.
- FIG. 1 is an illustration of an embodiment of a file processing system to process a serial data stream input.
- a computer file hierarchy or archive 110 is provided to a traversal module 120 .
- the serial data may be generated from a file traversal process, as illustrated, but embodiments of the invention are not limited to any particular type of process to generate the serial data stream.
- the file system may include certain elements that may be sought, including, but not limited to annotations for Java files.
- the traversal module 120 walks through the file structure or archive. Using only the names of the elements, the traversal module 120 may make a determination whether to process or skip each element of the archives In an embodiment of the invention, the archive traversal module processes only portions of interest, and does not process any element more than once.
- the traversal module 120 then outputs a serial data stream 130 representing the elements of interest in the file structure or archive 110 .
- the data stream 130 may be used for any purpose, including the provision of the data to a data stream processing module 140 .
- the processing module 140 may be intended to process the archive in a serial form to, for example, search for certain elements in the portions of interest in the archives The processing module 140 may then produce a data output 150 that, for example, includes information regarding elements that were found in the archives
- FIGS. 2 a and 2 b illustrate respectively a file hierarchy and an archive that may be converted to a serial data stream, such as by the operation of the traversal module 120 illustrated in FIG. 1 .
- FIG. 2 a is an illustration of a file hierarchy including an archive that may be processed in an embodiment of the invention.
- a hierarchical file system 200 may include a root node 202 , with the root node 202 having one or more branches below in the hierarchy.
- a branch may include a file 204 , which would be a “leaf node” as it terminates the branch.
- the branch 206 may include one or more nodes below, which in this case are shown as file 208 and file 210 . These elements are leaf nodes in this example, but other branches may exist below in the hierarchy.
- a branch may be an archive 212 , the archive containing one or more files (unless the archive is empty).
- the file hierarchy 200 may include any number of archives, with the archives existing at any point in the hierarchy.
- the file hierarchy may be subject to processing for a file system.
- the operation may be transferred to a separate processing to address the computer archive when it is encountered.
- the operation may return to the original processing.
- FIG. 2 b is an illustration of an archive that may be processed in an embodiment of the invention.
- the archive 220 may, in one example, be an archive encountered in the processing of a file system, such as archive 212 in the processing of the hierarchical file system 200 .
- a non-empty archive will contain one or more files or archives (each such archive being an archive within an archive, or an inner archive).
- archive 220 contains file 222 , file 232 , and file 242 , but also contains inner archive 224 and inner archive 234 .
- Archive 224 contains one or more files or archives, which are shown here as file 226 , file 228 , and file 230 .
- Archive 234 contains one or more files or archives, which are shown here as file 236 , file 238 , and file 240 .
- the contents of file hierarchy 200 or archive 220 are traversed, with the outcome of the traversal being a data stream representing selected portions of such contents.
- the traversal addresses each element of the file hierarchy or archive no more than once.
- the selection of elements to process is based upon the names of the elements, thus preventing the need to enter archived elements, such as to decompress such elements, if the elements will not be processed.
- FIG. 3 is an illustration of an embodiment of processing of computer file data.
- conversion of computer file data is provided 305 .
- the computer file data may be, but is not limited to, Java class file data.
- the conversion of the computer file data may include, but is not limited to, the traversal of a hierarchical file or archive, including the operation of traversal module 120 illustrated in FIG. 1 .
- the output of the processing of computer file data is a serial data stream 310 representing the computer file data.
- the serial data stream 310 then is provided to a file processor or scanner 315 , which processes the data, including scanning the data stream for data elements of interest.
- the file processor 315 may contain multiple modules or sub-modules, depending on the particular embodiment.
- the file processor 315 outputs an extracted data stream 320 , which represents elements of the data stream that have been selected by the file processor 315 .
- the extracted data stream 320 then is eventually provided to a consumer 325 , which may be entity or agent that requires the result of the scanning operation.
- the consumer 325 may receive additional reports or data processing as required for the needs of the consumer 325 .
- FIG. 4 is an illustration of a computer file processing system 400 . While this illustration shows the processes occurring within a single system for simplicity in description, the processes may occur in multiple systems, including multiple systems within a network.
- a computer file data stream 405 is provided to a file processor 410 , which scans the data for desired data elements.
- the data stream 405 may, for example, represent Java class file data that has been converted into a serial data stream.
- the file processor 410 may include multiple components, depending on the particular embodiment of the invention.
- the file processor 410 outputs extracted computer file data 415 , which is presented to a consumer 420 .
- the operation of the computer file processing system 400 is directed by certain inputs and settings.
- the operation of the file processor 410 may be directed by a scanner configuration 425 .
- a data mode configuration 430 affects both the file processor 410 and the consumer 420 .
- the file processor 410 also may include one of multiple implementations.
- the implementation may be a native implementation 435 or a BCEL (Byte Code Engineering Library) implementation.
- the BCEL implementation may include the Apache BCEL process 445 , as developed by the Apache Software Foundation.
- the consumer 420 may utilize a framework utility 450 and a framework extension 455 in the operation of the computer file processing.
- FIG. 5 is a flowchart to illustrate an embodiment of computer file stream processing.
- a serial class file data stream is received 505 .
- the class file data stream may include, but is not limited to, a data stream resulting from the traversal of a hierarchical file system or an archives
- a first data element is received 5 10 .
- the data element is scanned and, based upon, for example, a data mode configuration, there is a determination whether the data element is needed 520 . If the data element is not needed, then there is determination whether any more data elements are remaining in the received data stream 530 . If the data element is needed, the data element is output in an extracted data stream 525 , followed by the determination whether any more data elements are remaining in the received data stream 530 .
- the process ends 535 .
- the processing of data elements may include other processes not illustrated here, depending on the embodiment of the invention.
- FIG. 6 is an embodiment of library utilities.
- FIG. 6 may illustrate software modules, hardware modules, or modules including a combination of software and hardware.
- the utilities relate to an interface layer comprising code walk interfaces (code.walk 680 ); for class file processing and file walk interfaces (file.walk 610 ) for locating files; and further to an implementation toolbox comprising code processing 650 and a code walk implementation (code.walk.impl 660 ) for class file processing, and file processing 655 and a file walk implementation (file.walk.impl 630 ) for locating files.
- the code walk interfaces 680 may include a class file annotation value interface module 682 , a class file program element interface module 684 , a class file annotation handler interface module 686 , a class file annotation scanner interface module 688 , a class file dependency scanner interface module 690 , and a class file dependency listener interface module 692 .
- the file walk interfaces then may include a file condition interface module 612 , a file name classifier interface module 614 , a directory walker handler interface module 616 , a directory walker interface module 618 , a zip walker handler interface module (“zip” indicating use for archives) 620 , a zip walker interface module 622 , and a file notification interface module 624 .
- the code processing 650 may provide for parsing types from class file descriptors.
- Code processing 650 may include a class file format helper module 652 and a class file descriptor parser module.
- the code walk implementation 660 for class file processing may include a class file annotation record module 662 , a class file element record module 664 , a class file annotation filter 666 , a class file annotation for native elements 668 , a class file dependencies module for native elements 670 , a class file dependencies module for BCEL (Byte Code Engineering Library) elements 672 , a class file dependency concentrator module 674 , and a class file dependency filter 676 .
- BCEL Binaryte Code Engineering Library
- the file processing 655 may include a comma separated value (CSV) formatter and a CSV scanner.
- the file walk implementation 630 for locating files may include a simple file condition module 632 , a basic file name classifier module 634 , a directory finder module 636 , a directory walker implementation module 638 , a walk recorder module 640 , a zip (archive) condenser module 642 , and a zip walker implementation module 644 .
- FIG. 7 is an illustration of a computer system in an embodiment of the invention.
- the computer system may be utilized as a system for processing of computer files in the form of a data stream, or may represent one of multiple systems used in such processing.
- the computing system illustrated in FIG. 7 is only one of various possible computing system architectures, and is a simplified illustration that does include many well-known elements.
- a computing system 700 can execute program code stored by an article of manufacture.
- Computer system 700 may be a J2EE system, ABAP system, or administration system.
- a computer system 700 includes one or more processors 705 and memory 710 coupled to a bus system 720 .
- the bus system 720 is an abstraction that represents any one or more separate physical buses, point-to-point connections, or both connected by appropriate bridges, adapters, or controllers.
- the bus system 720 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus, sometimes referred to as “Firewire”. (“Standard for a High Performance Serial Bus” 1394-1995, IEEE, published Aug. 30, 1996, and supplements thereto)
- the processors 705 are central processing units (CPUs) of the computer system 700 and control the overall operation of the computer system 700 .
- the processors 705 execute software stored in memory 710 .
- a processor 705 may be, or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such devices.
- DSPs digital signal processors
- ASICs application specific integrated circuits
- PLDs programmable logic devices
- Memory 710 is or includes the main memory of the computer system 700 .
- Memory 710 represents any form of random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such devices.
- RAM random access memory
- ROM read-only memory
- flash memory or the like, or a combination of such devices.
- Memory 710 stores, among other things, the operating system 715 of the computer system 700 .
- Mass storage devices 725 may be or may include any conventional medium for storing large volumes of instructions and data 730 in a non-volatile manner, such as one or more magnetic or optical based disks.
- the mass storage devices may include storage of file or an archive 732 that requires processing.
- the processors 705 may operate to traverse the files or archive 732 , the traversal of the files or archive 732 resulting in output of a serial data stream representing selected elements of the archives The processor 705 may scan the serial stream for desired data elements within the computer files.
- the computer system 700 may provide for the conversion of the computer files into a serial data stream, while another system or systems is responsible for scanning the data stream for desired data elements.
- the network adapter 735 provides the computer system 700 with the ability to communicate with remote devices, over a network 740 and may be, for example, an Ethernet adapter.
- the network adapter may be utilized to output data including, for example, an extracted serial data stream representing selected elements of the files or archive 732 .
- FIG. 8 illustrates an embodiment of a client-server network system.
- a network 825 links a server 830 with client systems 805 , 810 , and 815 .
- Client 815 may include certain data storage 820 , including computer files in the form of, for example, a computer file hierarchy or computer archive 822 .
- Server 830 includes programming data processing system suitable for implementing apparatus, programs, and/or methods in accordance with one or more embodiments of the present invention.
- Server 830 includes processor 835 and memory 840 .
- Server 830 provides a core operating environment for one or more runtime systems, including, for example, virtual machine 845 , at memory 840 to process user requests.
- Memory 840 may include a shared memory area that is accessible by multiple operating system processes executing in server 830 .
- virtual machine 845 may include an enterprise server (e.g., a J2EE-compatible server or node, Web Application Server developed by SAP AG, WebSphere Application Server developed by IBM Corp. of Armonk, N.Y., and the like).
- Memory 840 can be used to store an operating system, a Transmission Control Protocol/Internet Protocol (TCP/IP) stack for communicating over network 825 , and machine executable instructions executed by processor 835 .
- TCP/IP Transmission Control Protocol/Internet Protocol
- the memory 845 may also include data 850 for processing, including the processing of data that includes data of one or more computer file hierarchies or computer archives 852 . In an embodiment, the data has been converted into a serial data stream for processing.
- server 835 may include multiple processors, each of which can be used to execute machine executable instructions.
- Client systems 805 - 815 may execute multiple application or application interfaces. Each instance or application or application interface may constitute a user session. Each user session may generate one or more requests to be processed by server 830 . The requests may include instructions or code to be executed on a runtime system, such as virtual machine 845 on server 830 .
- the present invention may include various processes.
- the processes of the present invention may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the processes.
- the processes may be performed by a combination of hardware and software.
- Portions of the present invention may be provided as a computer program product, which may include a computer-readable medium having stored thereon computer program instructions, which may be used to program a computer (or other electronic devices) to perform a process according to the present invention.
- the machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs (compact disk read-only memory), and magneto-optical disks, ROMs (read-only memory), RAMs (random access memory), EPROMs (erasable programmable read-only memory), EEPROMs (electrically-erasable programmable read-only memory), magnet or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing electronic instructions.
- the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
A method and apparatus for processing of computer files. An embodiment of a method for processing computer files includes receiving a serial data stream input, where the serial data stream input represents a set of computer files. The method further includes scanning the serial data stream input to extract selected data elements occurring in the set of computer files, and outputting the selected data elements in a serial data stream output.
Description
- This application is related to and claims priority to U.S. provisional patent application 60/953,933, filed Aug. 3, 2007.
- This application is further related to:
-
- U.S. patent application Ser. No. 11/648,065, entitled “Computer File System Traversal”, filed Dec. 30, 2006;
- U.S. patent application Ser. No. ______, entitled “Computer Computer Archive Traversal”, attorney docket 6570P472, filed Aug. 1, 2008, claiming priority to U.S. provisional application 60/953,932, filed Aug. 3, 2007;
- U.S. patent application Ser. No. ______, entitled “Annotation Processing of Computer Files”, attorney docket 6570P474, filed Aug. 1, 2008, claiming priority to U.S. provisional application 60/953,935, filed Aug. 3, 2007;
- U.S. patent application Ser. No. ______, entitled “Annotation Data Filtering of Computer Files”, attorney docket 6570P475, filed Aug. 1, 2008, claiming priority to U.S. provisional application 60/953,937, filed Aug. 3, 2007;
- U.S. patent application Ser. No. ______, entitled “Annotation Data Handlers for Data Stream Processing”, attorney docket 6570P476, filed Aug. 1, 2008, claiming priority to U.S. provisional application 60/953,938, filed Aug. 3, 2007;
- U.S. patent application Ser. No. ______, entitled “Dependency Processing of Computer Files”, attorney docket 6570P492, filed Aug. 1, 2008, claiming priority to U.S. provisional application 60/953,963, filed Aug. 3, 2007; and
- U.S. patent application Ser. No. ______, entitled “Data Listeners for Type Dependency Processing”, attorney docket 6570P493, filed Aug. 1, 2008, claiming priority to U.S. provisional application 60/953,964, filed Aug. 3, 2007.
- Embodiments of the invention generally relate to the field of computer systems and, more particularly, to a method and apparatus for computer file processing.
- In computer operations, computer files, including Java class files, may contain various different types of elements. For example, there may be many different variations in data classifications within the files, such as instances of particular classes. Further, there may be elements such as annotations or other elements that contain additional data or metadata.
- In certain circumstances, it may be necessary to identify which data elements are contained within the computer files. Because the data elements generally would not be indexed or otherwise identified in the files, it may be necessary to process the class files to search for the desired elements.
- However, the structure of the files may make processing difficult. In one example, a set of class files may be in the form of a file hierarchy, which may not be easily searchable in an efficient manner. In another example, the files may be contained in an archive, which requires additional effort in the need to expand files to obtain the archived data. As a result, the identification of elements within the computer files may require significant processing time.
- A method and apparatus are provided for computer file processing.
- In a first aspect of the invention, an embodiment of a method includes receiving a serial data stream input, where the serial data stream input represents a set of computer files. The serial data stream input is scanned to extract selected data elements occurring in the set of computer files, and the selected data elements are output in a serial data stream output.
- In a second aspect of the invention, a embodiment of a system includes a data input, where the data input is to receive an serial data stream input, the serial data stream input representing a set of computer files. The system further includes a processing module, where the processing module is to scan the serial data stream input to identify one or more elements in the set of computer files. The system also includes a data output, with the data output providing an extracted serial data stream output representing the identified elements of input data stream.
- Embodiments of the invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements.
-
FIG. 1 is an illustration of an embodiment of a file traversal process to produce a serial data stream; -
FIG. 2 a is an illustration of a file hierarchy including an archive that may be processed in an embodiment of the invention; -
FIG. 2 b is an illustration of an archive that may be processed in an embodiment of the invention; -
FIG. 3 is an illustration of an embodiment of processing of class file data; -
FIG. 4 is an illustration of a class file data processing system; -
FIG. 5 is a flowchart to illustrate an embodiment of class file stream processing; -
FIG. 6 is an embodiment of library utilities; -
FIG. 7 is an illustration of a computer system in an embodiment of the invention; and -
FIG. 8 illustrates an embodiment of a client-server network system. - Embodiments of the invention are generally directed to computer file processing.
- As used herein:
- “Computer file” means any file structure used in a computer system. Computer files include files with specific required structures, including Java class files.
- “Class file” means a Java class file. A Java class file is a defined format for compiled Java code, which may then be loaded and executed by any Java virtual machine. The format and structure for a Java class file is provided in JSR (Java Specification request)-000202, Java Class File Specification Update (Oct. 2, 2006) and subsequent specifications.
- “Traversal” means a process for progressing through the elements of a computer system, including a process for progressing through the elements of a computer archives
- “Archive” means a single file that may contain one or more separate files. An archive may also be empty. The files within an archive are extracted, or separated, from the archive for use by a computer program. The files contained within an archive are commonly compressed, and the compressed files are decompressed prior to use. An archive may further include data required to extract the files from the archives “Archive” may also refer to act of transferring one or more files into an archives
- “Compression” means the conversion of data into a form that requires less storage space. The term “compression” includes the use of any known compression algorithm. “Compression” also may commonly be referred to as “zipping” a file. The reverse process to compression is decompression, or expansion, of the compressed data back into a usable form. Compressed data is decompressed (expanded or unzipped) prior to use. Compression includes both lossy compression, in which data is lost in the process of compression, and lossless compression, in which no data is lost in the process of compression.
- In an embodiment of the invention, computer files are processed in the form of a data stream. The computer files may include, but are not limited to, Java class files. In an embodiment, the computer files are converted to a serial data stream input for processing, and the processing of the computer files is conducted with the data remaining in the data stream form.
- In an embodiment of the invention, a set of computer files are processed in a single pass as a serial data stream. In an embodiment, the serial data stream form is maintained both on input and output, thereby allowing further processing of class files without further file conversion. In an embodiment, the same data format is used for the data input and the data output. In an embodiment, the data stream conversion allows processing without any dependency on random access files, and broadens the applicable scope of the process for the input. In an embodiment, the processing of class files as a data stream allows processing without requiring use of, for example, Java library utilities that may normally be required to conduct the file processing.
- In an embodiment of the invention, a system includes a serial data processing module for scanning received data. In an embodiment, the processing module receives computer files in the form of a serial data stream, and outputs an extracted data stream. In an embodiment, the processing module processes the files in a single pass, without requiring multiple readings of the file data.
- In an embodiment of the invention, the conversion of computer files to a data stream allows for the use of a protocol for both the data producer (the computer file processor) and the data consumer without creating a complete file representation, thereby simplifying the data structure. In an implementation for Java class files, the processing system operates with a class file data model, without requiring the addition of any major abstraction for data processing.
- In an embodiment, the conversion of computer files to a serial data format may include, but is not limited to, the operation of a traversal of a hierarchical data structure or of a data archive as provided respectively in U.S. patent application Ser. No. 11/648,065, entitled “Computer File System Traversal”, filed Dec. 30, 2006. Other processes for conversion of a set of files to a serial data stream may also be utilized in embodiments of the invention.
- In an embodiment of the invention, for the processing of computer files it is assumed that processing occurs on an inner loop for critical processing stages. In an embodiment, a system provides high performance for inner loop class file processing.
- In an embodiment of the invention, processing is designed to provide sufficient performance for overall computer file processing. For example, in an embodiment a system includes stream buffering to buffer data as it is obtained and processed. In addition, an embodiment of the invention provides a compact internal file state in the data stream, thereby minimizing the amount of data that will be required in the process of transferring and processing the computer files.
- In an embodiment of the invention, a dedicated, independent processing module is provided. In an embodiment, the processing module may be utilized to identify type dependency data or annotation data in a serial data stream. A similar design and implementation may be utilized for either type of data,
- In an embodiment of the invention, a file processor may be provided in multiple implementations, depending on the system requirements. In one example, native processing implementations may be provided for a computer file processor, with the native implementations being based upon relevant Java standards. In another example, a non-native implementation may be provided, as required. A particular non-native implementation may include a BCEL (Byte Code Engineering Library) implementation, with the BCEL API being a toolkit for the static analysis and dynamic creation or transformation of Java class files.
- In an embodiment of the invention, a data consumer is a main framework expansion point for which neutral utility implementations might be required. In an embodiment of the invention, a file processor (the data producer) operates using the same data protocol as the data consumer protocol. In an embodiment of the invention, the data consumer may have control over the data to be provided to the data consumer. In an embodiment, the data producer and the data consumer may cooperate to agree on the data to be provided from the serial data stream. In an embodiment of the invention, a system may include complexity control, including configuring the file processor to deliver the data of interest. In an embodiment, the data of interest includes data meeting a certain degree of detail, or certain types of data. In an embodiment of the invention, the structure of the data processing may allow for a system to be utilized with loose semantics and implementation constraints. For example, the technical framework and protocol data types may be defined. However, there may be leeway for implementation characteristics, such as the result order sequence and analysis capabilities.
- In an embodiment of the invention, file processing may be included within a set of tools that are provided to search files. The tools may, for example, provide for the conversion of files into serial form by a traversal process, the scanning of data for desired elements, and other related processes.
- In a particular embodiment of the invention, a process is applied to Java class files contained within a hierarchical file structure or within a Java archive (or JAR file), including class files for J2EE systems (Java 2, Enterprise Edition). In an embodiment, the output of process for traversal of the hierarchical file structure or archive is a class file data stream. An embodiment may utilize Java under the JDK (Java Development Kit) 5.0, including the JSR-175 recommendation regarding code annotations. In an embodiment of the invention, the class files may contain elements such annotations or occurrences of particular class types, and there may be a need to extract these elements from the class files. In an embodiment of the invention, the class files are converted to a serial data stream format for the input to a processing module, and the processing module scans the serial data stream and extracts the desired elements.
-
FIG. 1 is an illustration of an embodiment of a file processing system to process a serial data stream input. In this illustration, a computer file hierarchy or archive 110 is provided to atraversal module 120. In a particular implementation of a file processing system, the serial data may be generated from a file traversal process, as illustrated, but embodiments of the invention are not limited to any particular type of process to generate the serial data stream. The file system may include certain elements that may be sought, including, but not limited to annotations for Java files. - In an embodiment of the invention, the
traversal module 120 walks through the file structure or archive. Using only the names of the elements, thetraversal module 120 may make a determination whether to process or skip each element of the archives In an embodiment of the invention, the archive traversal module processes only portions of interest, and does not process any element more than once. - In an embodiment of the invention, the
traversal module 120 then outputs aserial data stream 130 representing the elements of interest in the file structure orarchive 110. In an embodiment, thedata stream 130 may be used for any purpose, including the provision of the data to a datastream processing module 140. In an embodiment of the invention, theprocessing module 140 may be intended to process the archive in a serial form to, for example, search for certain elements in the portions of interest in the archives Theprocessing module 140 may then produce adata output 150 that, for example, includes information regarding elements that were found in the archives -
FIGS. 2 a and 2 b illustrate respectively a file hierarchy and an archive that may be converted to a serial data stream, such as by the operation of thetraversal module 120 illustrated inFIG. 1 .FIG. 2 a is an illustration of a file hierarchy including an archive that may be processed in an embodiment of the invention. In this illustration, ahierarchical file system 200 may include a root node 202, with the root node 202 having one or more branches below in the hierarchy. For example, a branch may include afile 204, which would be a “leaf node” as it terminates the branch. In another example, thebranch 206 may include one or more nodes below, which in this case are shown asfile 208 and file 210. These elements are leaf nodes in this example, but other branches may exist below in the hierarchy. - In addition, a branch may be an
archive 212, the archive containing one or more files (unless the archive is empty). Thefile hierarchy 200 may include any number of archives, with the archives existing at any point in the hierarchy. In an embodiment of the invention, the file hierarchy may be subject to processing for a file system. In an embodiment, the operation may be transferred to a separate processing to address the computer archive when it is encountered. In an embodiment, after completion of processing of the archive the operation may return to the original processing. -
FIG. 2 b is an illustration of an archive that may be processed in an embodiment of the invention. Thearchive 220 may, in one example, be an archive encountered in the processing of a file system, such asarchive 212 in the processing of thehierarchical file system 200. A non-empty archive will contain one or more files or archives (each such archive being an archive within an archive, or an inner archive). In this illustration, archive 220 containsfile 222, file 232, and file 242, but also containsinner archive 224 andinner archive 234. Archive 224 contains one or more files or archives, which are shown here asfile 226, file 228, and file 230. Archive 234 contains one or more files or archives, which are shown here asfile 236, file 238, and file 240. - In an embodiment of the invention, the contents of
file hierarchy 200 or archive 220 are traversed, with the outcome of the traversal being a data stream representing selected portions of such contents. In an embodiment of the invention, the traversal addresses each element of the file hierarchy or archive no more than once. In an embodiment of the invention, the selection of elements to process is based upon the names of the elements, thus preventing the need to enter archived elements, such as to decompress such elements, if the elements will not be processed. -
FIG. 3 is an illustration of an embodiment of processing of computer file data. In this illustration, conversion of computer file data is provided 305. The computer file data may be, but is not limited to, Java class file data. The conversion of the computer file data may include, but is not limited to, the traversal of a hierarchical file or archive, including the operation oftraversal module 120 illustrated inFIG. 1 . The output of the processing of computer file data is aserial data stream 310 representing the computer file data. - In an embodiment of the invention, the
serial data stream 310 then is provided to a file processor orscanner 315, which processes the data, including scanning the data stream for data elements of interest. Thefile processor 315 may contain multiple modules or sub-modules, depending on the particular embodiment. Thefile processor 315 outputs an extracteddata stream 320, which represents elements of the data stream that have been selected by thefile processor 315. The extracteddata stream 320 then is eventually provided to aconsumer 325, which may be entity or agent that requires the result of the scanning operation. Theconsumer 325 may receive additional reports or data processing as required for the needs of theconsumer 325. -
FIG. 4 is an illustration of a computer file processing system 400. While this illustration shows the processes occurring within a single system for simplicity in description, the processes may occur in multiple systems, including multiple systems within a network. In this illustration, a computerfile data stream 405 is provided to afile processor 410, which scans the data for desired data elements. Thedata stream 405 may, for example, represent Java class file data that has been converted into a serial data stream. Thefile processor 410 may include multiple components, depending on the particular embodiment of the invention. Thefile processor 410 outputs extractedcomputer file data 415, which is presented to aconsumer 420. - In an embodiment of the invention, the operation of the computer file processing system 400 is directed by certain inputs and settings. The operation of the
file processor 410 may be directed by ascanner configuration 425. In addition, adata mode configuration 430 affects both thefile processor 410 and theconsumer 420. Thefile processor 410 also may include one of multiple implementations. In particular embodiments, the implementation may be anative implementation 435 or a BCEL (Byte Code Engineering Library) implementation. The BCEL implementation may include theApache BCEL process 445, as developed by the Apache Software Foundation. In addition, theconsumer 420 may utilize aframework utility 450 and aframework extension 455 in the operation of the computer file processing. -
FIG. 5 is a flowchart to illustrate an embodiment of computer file stream processing. In this illustration, a serial class file data stream is received 505. The class file data stream may include, but is not limited to, a data stream resulting from the traversal of a hierarchical file system or an archives In this process, a first data element is received 5 10. The data element is scanned and, based upon, for example, a data mode configuration, there is a determination whether the data element is needed 520. If the data element is not needed, then there is determination whether any more data elements are remaining in the receiveddata stream 530. If the data element is needed, the data element is output in an extracteddata stream 525, followed by the determination whether any more data elements are remaining in the receiveddata stream 530. If more data elements remain in the receiveddata stream 530, then the next data element is received 515. If no more data elements remain in the received data stream, then the process ends 535. The processing of data elements may include other processes not illustrated here, depending on the embodiment of the invention. -
FIG. 6 is an embodiment of library utilities.FIG. 6 may illustrate software modules, hardware modules, or modules including a combination of software and hardware. In this illustration, the utilities relate to an interface layer comprising code walk interfaces (code.walk 680); for class file processing and file walk interfaces (file.walk 610) for locating files; and further to an implementation toolbox comprisingcode processing 650 and a code walk implementation (code.walk.impl 660) for class file processing, andfile processing 655 and a file walk implementation (file.walk.impl 630) for locating files. - In the interface layer, the
code walk interfaces 680 may include a class file annotationvalue interface module 682, a class file programelement interface module 684, a class file annotationhandler interface module 686, a class file annotationscanner interface module 688, a class file dependencyscanner interface module 690, and a class file dependencylistener interface module 692. The file walk interfaces then may include a filecondition interface module 612, a file nameclassifier interface module 614, a directory walkerhandler interface module 616, a directorywalker interface module 618, a zip walker handler interface module (“zip” indicating use for archives) 620, a zipwalker interface module 622, and a filenotification interface module 624. - In an embodiment of the invention, the
code processing 650 may provide for parsing types from class file descriptors.Code processing 650 may include a class fileformat helper module 652 and a class file descriptor parser module. Thecode walk implementation 660 for class file processing may include a class fileannotation record module 662, a class fileelement record module 664, a classfile annotation filter 666, a class file annotation fornative elements 668, a class file dependencies module fornative elements 670, a class file dependencies module for BCEL (Byte Code Engineering Library)elements 672, a class filedependency concentrator module 674, and a classfile dependency filter 676. - In an embodiment of the invention, the
file processing 655 may include a comma separated value (CSV) formatter and a CSV scanner. Thefile walk implementation 630 for locating files may include a simplefile condition module 632, a basic filename classifier module 634, adirectory finder module 636, a directorywalker implementation module 638, awalk recorder module 640, a zip (archive)condenser module 642, and a zipwalker implementation module 644. -
FIG. 7 is an illustration of a computer system in an embodiment of the invention. The computer system may be utilized as a system for processing of computer files in the form of a data stream, or may represent one of multiple systems used in such processing. The computing system illustrated inFIG. 7 is only one of various possible computing system architectures, and is a simplified illustration that does include many well-known elements. As illustrated, acomputing system 700 can execute program code stored by an article of manufacture.Computer system 700 may be a J2EE system, ABAP system, or administration system. Acomputer system 700 includes one ormore processors 705 andmemory 710 coupled to abus system 720. Thebus system 720 is an abstraction that represents any one or more separate physical buses, point-to-point connections, or both connected by appropriate bridges, adapters, or controllers. Thebus system 720 may include, for example, a system bus, a Peripheral Component Interconnect (PCI) bus, a HyperTransport or industry standard architecture (ISA) bus, a small computer system interface (SCSI) bus, a universal serial bus (USB), or an Institute of Electrical and Electronics Engineers (IEEE) standard 1394 bus, sometimes referred to as “Firewire”. (“Standard for a High Performance Serial Bus” 1394-1995, IEEE, published Aug. 30, 1996, and supplements thereto) - As illustrated in
FIG. 7 , theprocessors 705 are central processing units (CPUs) of thecomputer system 700 and control the overall operation of thecomputer system 700. Theprocessors 705 execute software stored inmemory 710. Aprocessor 705 may be, or may include, one or more programmable general-purpose or special-purpose microprocessors, digital signal processors (DSPs), programmable controllers, application specific integrated circuits (ASICs), programmable logic devices (PLDs), or the like, or a combination of such devices. -
Memory 710 is or includes the main memory of thecomputer system 700.Memory 710 represents any form of random access memory (RAM), read-only memory (ROM), flash memory, or the like, or a combination of such devices.Memory 710 stores, among other things, theoperating system 715 of thecomputer system 700. - Also connected to the
processors 705 through thebus system 720 are one or moremass storage devices 725 and anetwork adapter 735.Mass storage devices 725 may be or may include any conventional medium for storing large volumes of instructions anddata 730 in a non-volatile manner, such as one or more magnetic or optical based disks. In an embodiment of the invention, the mass storage devices may include storage of file or an archive 732 that requires processing. In an embodiment of the invention, theprocessors 705 may operate to traverse the files or archive 732, the traversal of the files or archive 732 resulting in output of a serial data stream representing selected elements of the archives Theprocessor 705 may scan the serial stream for desired data elements within the computer files. In another embodiment thecomputer system 700 may provide for the conversion of the computer files into a serial data stream, while another system or systems is responsible for scanning the data stream for desired data elements. - The
network adapter 735 provides thecomputer system 700 with the ability to communicate with remote devices, over anetwork 740 and may be, for example, an Ethernet adapter. In one embodiment, the network adapter may be utilized to output data including, for example, an extracted serial data stream representing selected elements of the files or archive 732. -
FIG. 8 illustrates an embodiment of a client-server network system. As illustrated, anetwork 825 links aserver 830 withclient systems Client 815 may includecertain data storage 820, including computer files in the form of, for example, a computer file hierarchy or computer archive 822.Server 830 includes programming data processing system suitable for implementing apparatus, programs, and/or methods in accordance with one or more embodiments of the present invention.Server 830 includesprocessor 835 andmemory 840.Server 830 provides a core operating environment for one or more runtime systems, including, for example,virtual machine 845, atmemory 840 to process user requests.Memory 840 may include a shared memory area that is accessible by multiple operating system processes executing inserver 830. For example,virtual machine 845 may include an enterprise server (e.g., a J2EE-compatible server or node, Web Application Server developed by SAP AG, WebSphere Application Server developed by IBM Corp. of Armonk, N.Y., and the like).Memory 840 can be used to store an operating system, a Transmission Control Protocol/Internet Protocol (TCP/IP) stack for communicating overnetwork 825, and machine executable instructions executed byprocessor 835. Thememory 845 may also includedata 850 for processing, including the processing of data that includes data of one or more computer file hierarchies or computer archives 852. In an embodiment, the data has been converted into a serial data stream for processing. In some embodiments,server 835 may include multiple processors, each of which can be used to execute machine executable instructions. - Client systems 805-815 may execute multiple application or application interfaces. Each instance or application or application interface may constitute a user session. Each user session may generate one or more requests to be processed by
server 830. The requests may include instructions or code to be executed on a runtime system, such asvirtual machine 845 onserver 830. - In the description above, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form.
- The present invention may include various processes. The processes of the present invention may be performed by hardware components or may be embodied in machine-executable instructions, which may be used to cause a general-purpose or special-purpose processor or logic circuits programmed with the instructions to perform the processes. Alternatively, the processes may be performed by a combination of hardware and software.
- Portions of the present invention may be provided as a computer program product, which may include a computer-readable medium having stored thereon computer program instructions, which may be used to program a computer (or other electronic devices) to perform a process according to the present invention. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs (compact disk read-only memory), and magneto-optical disks, ROMs (read-only memory), RAMs (random access memory), EPROMs (erasable programmable read-only memory), EEPROMs (electrically-erasable programmable read-only memory), magnet or optical cards, flash memory, or other type of media/machine-readable medium suitable for storing electronic instructions. Moreover, the present invention may also be downloaded as a computer program product, wherein the program may be transferred from a remote computer to a requesting computer.
- Many of the methods are described in their most basic form, but processes can be added to or deleted from any of the methods and information can be added or subtracted from any of the described messages without departing from the basic scope of the present invention. It will be apparent to those skilled in the art that many further modifications and adaptations can be made. The particular embodiments are not provided to limit the invention but to illustrate it. The scope of the present invention is not to be determined by the specific examples provided above but only by the claims below.
- It should also be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature may be included in the practice of the invention. Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims are hereby expressly incorporated into this description, with each claim standing on its own as a separate embodiment of this invention.
Claims (24)
1. A method for processing of computer files comprising:
receiving a serial data stream input, the serial data stream input representing a set of computer files;
scanning the serial data stream input to extract selected data elements occurring in the set of computer files; and
outputting the selected data elements in a serial data stream output.
2. The method of claim 1 , wherein the computer files are Java class files.
3. The method of claim 1 , further comprising converting the set of computer files to generate the serial data stream input.
4. The method of claim 1 , wherein scanning the serial data stream input comprises scanning each element of the serial data stream input no more than once.
5. The method of claim 1 , wherein a selected data element in the computer files is an annotation.
6. The method of claim 1 , wherein a selected data element is an occurrence of a particular class of computer file.
7. The method of claim 1 , wherein a format of the serial data stream input is the same as a format of the serial data stream output.
8. The method of claim 1 , further comprising providing the serial data stream output to a data consumer.
9. The method of claim 1 , further comprising processing the serial data stream output to extract selected data elements from the contents of the serial data stream output.
10. A system comprising:
a data input, the data input to receive a serial data stream input, the serial data stream input representing a set of computer files;
a processing module, the processing module to scan the serial data stream input to identify one or more elements in the set of computer files; and
a data output, the data output providing an extracted serial data stream output representing the identified elements of input data stream.
11. The system of claim 10 , further comprising a conversion module to convert the set of computer files to the serial data stream input.
12. The system of claim 11 , wherein the set of computer files comprises a set of Java class files.
13. The system of claim 11 , wherein the serial data stream input and the serial data stream output have the same data format.
14. The system of claim 11 , further comprising a second processing module, the second processing module receiving the serial data stream output as an input for additional processing.
15. The system of claim 11 , wherein an identified element in the computer files is an annotation.
16. The method of claim 1 , wherein an identified element in the computer files is an occurrence of a particular class of computer file.
17. An article of manufacture comprising:
a computer-readable medium including instructions that, when accessed by a processor, cause the computer to perform operations comprising:
converting a set of computer files to generate a serial data stream input;
scanning the serial data stream input to extract selected data elements occurring in the set of computer files; and
outputting the selected data elements in a serial data stream output.
18. The article of manufacture of claim 17 , wherein each computer file is a Java class file.
19. The article of manufacture of claim 17 , wherein scanning the serial data stream input comprises scanning each element of the serial data stream input no more than once.
20. The article of manufacture of claim 17 , wherein a selected data element in the computer files is an annotation.
21. The article of manufacture of claim 17 , wherein a selected data element in the computer files is an occurrence of a particular class of computer file.
22. The article of manufacture of claim 17 , wherein a format of the serial data stream input is the same as a format of the serial data stream output.
23. The article of manufacture of claim 17 , wherein the medium further includes instructions that, when accessed by a processor, cause the computer to perform operations comprising:
providing the serial data stream output to a data consumer.
24. The article of manufacture of claim 17 , wherein the medium further includes instructions that, when accessed by a processor, cause the computer to perform operations comprising:
processing the serial data stream output to extract selected data elements from the contents of the serial data stream output.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/184,904 US20090037386A1 (en) | 2007-08-03 | 2008-08-01 | Computer file processing |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US95396407P | 2007-08-03 | 2007-08-03 | |
US95393807P | 2007-08-03 | 2007-08-03 | |
US95393707P | 2007-08-03 | 2007-08-03 | |
US95396307P | 2007-08-03 | 2007-08-03 | |
US95393507P | 2007-08-03 | 2007-08-03 | |
US95393307P | 2007-08-03 | 2007-08-03 | |
US95393207P | 2007-08-03 | 2007-08-03 | |
US12/184,904 US20090037386A1 (en) | 2007-08-03 | 2008-08-01 | Computer file processing |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090037386A1 true US20090037386A1 (en) | 2009-02-05 |
Family
ID=40339046
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/184,932 Active 2030-01-11 US8112388B2 (en) | 2007-08-03 | 2008-08-01 | Dependency processing of computer files |
US12/184,938 Active 2031-03-03 US9092408B2 (en) | 2007-08-03 | 2008-08-01 | Data listeners for type dependency processing |
US12/184,915 Active 2031-05-20 US8806324B2 (en) | 2007-08-03 | 2008-08-01 | Annotation data filtering of computer files |
US12/184,904 Abandoned US20090037386A1 (en) | 2007-08-03 | 2008-08-01 | Computer file processing |
US12/184,896 Active 2031-05-24 US8463724B2 (en) | 2007-08-03 | 2008-08-01 | Computer archive traversal |
US12/184,924 Abandoned US20090037459A1 (en) | 2007-08-03 | 2008-08-01 | Annotation data handlers for data stream processing |
US12/184,911 Active 2031-04-08 US8954840B2 (en) | 2007-08-03 | 2008-08-01 | Annotation processing of computer files |
US14/617,570 Active 2031-04-06 US10509854B2 (en) | 2007-08-03 | 2015-02-09 | Annotation processing of computer files |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/184,932 Active 2030-01-11 US8112388B2 (en) | 2007-08-03 | 2008-08-01 | Dependency processing of computer files |
US12/184,938 Active 2031-03-03 US9092408B2 (en) | 2007-08-03 | 2008-08-01 | Data listeners for type dependency processing |
US12/184,915 Active 2031-05-20 US8806324B2 (en) | 2007-08-03 | 2008-08-01 | Annotation data filtering of computer files |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/184,896 Active 2031-05-24 US8463724B2 (en) | 2007-08-03 | 2008-08-01 | Computer archive traversal |
US12/184,924 Abandoned US20090037459A1 (en) | 2007-08-03 | 2008-08-01 | Annotation data handlers for data stream processing |
US12/184,911 Active 2031-04-08 US8954840B2 (en) | 2007-08-03 | 2008-08-01 | Annotation processing of computer files |
US14/617,570 Active 2031-04-06 US10509854B2 (en) | 2007-08-03 | 2015-02-09 | Annotation processing of computer files |
Country Status (1)
Country | Link |
---|---|
US (8) | US8112388B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11336523B2 (en) * | 2017-10-04 | 2022-05-17 | Servicenow, Inc. | System and method for database access using a history walker |
US11915243B2 (en) | 2015-02-03 | 2024-02-27 | Visa International Service Association | Validation identity tokens for transactions |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779347B2 (en) * | 2005-09-02 | 2010-08-17 | Fourteen40, Inc. | Systems and methods for collaboratively annotating electronic documents |
US8112388B2 (en) * | 2007-08-03 | 2012-02-07 | Sap Ag | Dependency processing of computer files |
US8214794B2 (en) * | 2008-03-06 | 2012-07-03 | International Business Machines Corporation | Populating information contained in java annotations into existing EMF models |
US8271942B2 (en) * | 2008-05-06 | 2012-09-18 | International Business Machines Corporation | Defining a single annotation model |
US8972355B1 (en) * | 2009-08-31 | 2015-03-03 | Symantec Corporation | Systems and methods for archiving related items |
US8799754B2 (en) * | 2009-12-07 | 2014-08-05 | At&T Intellectual Property I, L.P. | Verification of data stream computations using third-party-supplied annotations |
US9959326B2 (en) | 2011-03-23 | 2018-05-01 | International Business Machines Corporation | Annotating schema elements based on associating data instances with knowledge base entities |
CN103140846B (en) * | 2011-04-01 | 2016-10-19 | 西门子公司 | Method and apparatus for a file system on a programmable logic controller |
US9223769B2 (en) | 2011-09-21 | 2015-12-29 | Roman Tsibulevskiy | Data processing systems, devices, and methods for content analysis |
US9684491B2 (en) * | 2013-04-30 | 2017-06-20 | Wal-Mart Stores, Inc. | Annotation-based item description |
US9569441B2 (en) | 2013-10-09 | 2017-02-14 | Sap Se | Archival of objects and dynamic search |
US9910680B2 (en) * | 2014-04-22 | 2018-03-06 | Oracle International Corporation | Decomposing a generic class into layers |
KR101767361B1 (en) * | 2014-09-16 | 2017-08-10 | 미쓰비시덴키 가부시키가이샤 | Programmable logic controller |
MX2017004382A (en) * | 2014-10-31 | 2017-06-22 | Kimberly Clark Co | Disposable product quantification and management. |
US10970301B2 (en) | 2017-12-27 | 2021-04-06 | Sap Se | Keyfigure comments bound to database level persistence |
CN112965748B (en) * | 2021-04-08 | 2022-04-15 | 武汉众邦银行股份有限公司 | Configurable method for automatically adding code annotation |
CN114416032A (en) * | 2021-12-29 | 2022-04-29 | 中国电信股份有限公司 | Service processing method and device, electronic equipment and readable medium |
Citations (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675708A (en) * | 1993-12-22 | 1997-10-07 | International Business Machines Corporation | Audio media boundary traversal method and apparatus |
US6088747A (en) * | 1998-02-20 | 2000-07-11 | Unisys Corp | System for reformatting and burning of data files having a first format onto a compact disk to be utilized in a network using different format |
US6173317B1 (en) * | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
US6298353B1 (en) * | 1998-11-19 | 2001-10-02 | International Business Machines Corporation | Checking serialization compatibility between versions of java classes |
US6339832B1 (en) * | 1999-08-31 | 2002-01-15 | Accenture Llp | Exception response table in environment services patterns |
US20020029228A1 (en) * | 1999-09-09 | 2002-03-07 | Herman Rodriguez | Remote access of archived compressed data files |
US6356946B1 (en) * | 1998-09-02 | 2002-03-12 | Sybase Inc. | System and method for serializing Java objects in a tubular data stream |
US20020059348A1 (en) * | 2000-11-14 | 2002-05-16 | Cypress Semiconductor Corp. | Automatic documentation generation tool and associated method |
US6502100B1 (en) * | 1999-12-30 | 2002-12-31 | Nokia Corporation | Method and apparatus for acquiring and storing data in association with a mode annotation |
US20030018620A1 (en) * | 2001-06-26 | 2003-01-23 | International Business Machines Corporation | Storing data mining clustering results in a relational database for querying and reporting |
US6574792B1 (en) * | 2000-03-22 | 2003-06-03 | International Business Machines Corporation | Dynamically generating expanded user messages in a computer system |
US20030195903A1 (en) * | 2002-03-19 | 2003-10-16 | Manley Stephen L. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US20040034830A1 (en) * | 2002-08-16 | 2004-02-19 | Commerce One Operations, Inc. | XML streaming transformer |
US20040230576A1 (en) * | 2003-05-17 | 2004-11-18 | Microsoft Corporation | Mechanism for applying transforms to multi-part files |
US20050010454A1 (en) * | 2002-11-08 | 2005-01-13 | Falk Robert J. | System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction |
US20050010562A1 (en) * | 2003-04-30 | 2005-01-13 | Fumio Nagasaka | File management method, file management device, annotation information generation method, and annotation information generation device |
US20050015759A1 (en) * | 2003-07-19 | 2005-01-20 | Bea Systems, Inc. | Method and system for translating programming languages |
US20050060692A1 (en) * | 2003-09-16 | 2005-03-17 | Nikolai Mansourov | Method and apparatus for reducing time to generate a build for a software product from source-files |
US6915271B1 (en) * | 1998-03-11 | 2005-07-05 | The Product Engine, Inc. | Method and system for delivering redeeming dynamically and adaptively characterized promotional incentives on a computer network |
US20050154679A1 (en) * | 2004-01-08 | 2005-07-14 | Stanley Bielak | System for inserting interactive media within a presentation |
US20050160427A1 (en) * | 2003-12-16 | 2005-07-21 | Eric Ustaris | System and method for managing log files |
US20050254714A1 (en) * | 2004-05-13 | 2005-11-17 | Ramakrishna Anne | Systems and methods for data transfer with camera-enabled devices |
US20050289505A1 (en) * | 2004-06-25 | 2005-12-29 | Williams Stanley N | Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology |
US20060080300A1 (en) * | 2001-04-12 | 2006-04-13 | Primentia, Inc. | System and method for organizing data |
US20060123332A1 (en) * | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Method and apparatus for incrementally processing program annotations |
US20060130020A1 (en) * | 2004-12-14 | 2006-06-15 | Abdullah Mohd H | Compile time linking via hashing technique |
US20060184587A1 (en) * | 2002-03-19 | 2006-08-17 | Federwisch Michael L | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US20060184552A1 (en) * | 2005-02-15 | 2006-08-17 | International Business Machines Corporation | Memory efficient XML shredding with partial commit |
US20060259168A1 (en) * | 2003-07-21 | 2006-11-16 | Stefan Geyersberger | Audio file format conversion |
US20070005758A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Application security in an interactive media environment |
US20070061350A1 (en) * | 2005-09-12 | 2007-03-15 | Microsoft Corporation | Comment processing |
US20070106863A1 (en) * | 2005-11-04 | 2007-05-10 | Sun Microsystems, Inc. | Method and system for storing a sparse file using fill counts |
US20070136492A1 (en) * | 2005-12-08 | 2007-06-14 | Good Technology, Inc. | Method and system for compressing/decompressing data for communication with wireless devices |
US20070214384A1 (en) * | 2006-03-07 | 2007-09-13 | Manabu Kitamura | Method for backing up data in a clustered file system |
US20070226715A1 (en) * | 2006-02-13 | 2007-09-27 | Fujitsu Limited | Application server system and computer product |
US20070271090A1 (en) * | 2006-05-22 | 2007-11-22 | Microsoft Corporation | Indexing and Storing Verbal Content |
US20080052662A1 (en) * | 2006-08-24 | 2008-02-28 | Robert Marc Zeidman | Software For Filtering The Results Of A Software Source Code Comparison |
US20080162511A1 (en) * | 2006-12-30 | 2008-07-03 | Theobald Dietmar C | Computer file system traversal |
US20080235661A1 (en) * | 2007-03-21 | 2008-09-25 | Computer Associates Think, Inc. | System and method for using annotations to automatically generate a framework for a custom javaserver faces (jsf) component |
US20080295003A1 (en) * | 2005-12-14 | 2008-11-27 | International Business Machines Corporation | Method, System, and Computer Program Product For Efficiently Serializing Navigational State in a Portal |
US7499956B1 (en) * | 2005-05-24 | 2009-03-03 | Sun Microsystems, Inc. | Annotation processing from source files and class files |
US7565364B1 (en) * | 2005-05-24 | 2009-07-21 | Sun Microsystems, Inc. | Annotation processor discovery |
US20090228863A1 (en) * | 2008-03-06 | 2009-09-10 | Leho Nigul | Populating information contained in java annotations into existing emf models |
US20090254884A1 (en) * | 2008-04-08 | 2009-10-08 | Infosys Technologies Ltd. | Identification of topics in source code |
US7814328B1 (en) * | 2005-09-12 | 2010-10-12 | Microsoft Corporation | Digital signatures for embedded code |
US7900133B2 (en) * | 2003-12-09 | 2011-03-01 | International Business Machines Corporation | Annotation structure type determination |
US7904529B2 (en) * | 2007-02-23 | 2011-03-08 | International Business Machines Corporation | Method and system for transmitting and recording synchronized data streams |
US7966602B1 (en) * | 2006-03-16 | 2011-06-21 | Oracle America, Inc. | Incremental modification detector, and methods, systems, and apparatus for implementing the same |
US8032491B1 (en) * | 2005-04-22 | 2011-10-04 | Symantec Operating Corporation | Encapsulating information in a storage format suitable for backup and restore |
Family Cites Families (123)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4760523A (en) * | 1984-06-29 | 1988-07-26 | Trw Inc. | Fast search processor |
US4689675A (en) * | 1985-05-23 | 1987-08-25 | Advanced Systems Development, Inc. | Digital scan converter and method therefor |
US4945475A (en) * | 1986-10-30 | 1990-07-31 | Apple Computer, Inc. | Hierarchical file system to provide cataloging and retrieval of data |
US5045853A (en) * | 1987-06-17 | 1991-09-03 | Intel Corporation | Method and apparatus for statistically encoding digital data |
JPH04186447A (en) * | 1990-11-21 | 1992-07-03 | Canon Inc | Directory management system |
US5487147A (en) * | 1991-09-05 | 1996-01-23 | International Business Machines Corporation | Generation of error messages and error recovery for an LL(1) parser |
US5483624A (en) * | 1992-03-27 | 1996-01-09 | Monarch Marking Systems, Inc. | Programmable hand held labeler |
JPH0630263A (en) * | 1992-07-13 | 1994-02-04 | Mita Ind Co Ltd | Color image processing circuit |
US7387253B1 (en) * | 1996-09-03 | 2008-06-17 | Hand Held Products, Inc. | Optical reader system comprising local host processor and optical reader |
US6888998B1 (en) * | 1994-11-28 | 2005-05-03 | Sony Corporation | Data recording and reproducing apparatus having a data transferring device for selectively transferring data between multiple data recording and reproducing devices |
US5721545A (en) * | 1995-10-23 | 1998-02-24 | Poplevine; Pavel B. | Methods and apparatus for serial-to-parallel and parallel-to-serial conversion |
US5815717A (en) * | 1995-10-27 | 1998-09-29 | Authorgenics, Inc. | Application program and documentation generator system and method |
US5761510A (en) * | 1995-11-07 | 1998-06-02 | Microsoft Corporation | Method for error identification in a program interface |
CA2175711A1 (en) * | 1996-05-01 | 1997-11-02 | Lee Richard Nackman | Incremental compilation of c++ programs |
US5907703A (en) * | 1996-05-08 | 1999-05-25 | Mijenix Corporation | Device driver for accessing computer files |
US20020049650A1 (en) * | 1996-10-16 | 2002-04-25 | Reff Albert A. | Method and apparatus for providing inventory control of medical objects |
US5999729A (en) * | 1997-03-06 | 1999-12-07 | Continuum Software, Inc. | System and method for developing computer programs for execution on parallel processing systems |
US6097834A (en) * | 1997-06-13 | 2000-08-01 | Paystation America Inc. | Financial transaction processing systems and methods |
US6275223B1 (en) * | 1998-07-08 | 2001-08-14 | Nortel Networks Limited | Interactive on line code inspection process and tool |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US6725260B1 (en) * | 1998-09-11 | 2004-04-20 | L.V. Partners, L.P. | Method and apparatus for configuring configurable equipment with configuration information received from a remote location |
US6510156B1 (en) * | 1998-12-07 | 2003-01-21 | Cisco Technology, Inc. | Method and apparatus for data stream optimization |
US6463352B1 (en) * | 1999-01-21 | 2002-10-08 | Amada Cutting Technologies, Inc. | System for management of cutting machines |
US6438559B1 (en) * | 1999-04-02 | 2002-08-20 | Sybase, Inc. | System and method for improved serialization of Java objects |
JP2000305796A (en) * | 1999-04-22 | 2000-11-02 | Hitachi Ltd | Method and system for transferring jobs between computers |
IL131282A (en) * | 1999-08-05 | 2009-02-11 | Orbotech Ltd | Apparatus and methods for inspection of objects |
US6353925B1 (en) * | 1999-09-22 | 2002-03-05 | Compaq Computer Corporation | System and method for lexing and parsing program annotations |
US6519603B1 (en) * | 1999-10-28 | 2003-02-11 | International Business Machine Corporation | Method and system for organizing an annotation structure and for querying data and annotations |
US7574351B2 (en) * | 1999-12-14 | 2009-08-11 | Texas Instruments Incorporated | Arranging CELP information of one frame in a second packet |
JP2001184187A (en) * | 1999-12-24 | 2001-07-06 | Minolta Co Ltd | Information display device |
US6856993B1 (en) * | 2000-03-30 | 2005-02-15 | Microsoft Corporation | Transactional file system |
US7055095B1 (en) * | 2000-04-14 | 2006-05-30 | Picsel Research Limited | Systems and methods for digital document processing |
US6675375B1 (en) * | 2000-04-28 | 2004-01-06 | Sun Microsystems, Inc. | Method and apparatus for optimized multiprocessing in a safe language |
US6826561B2 (en) * | 2000-05-22 | 2004-11-30 | Broadcom Corporation | Method and apparatus for performing a binary search on an expanded tree |
GB2365554B (en) * | 2000-05-31 | 2004-09-01 | Ibm | Virtual machine support for multiple aplications |
US7487112B2 (en) * | 2000-06-29 | 2009-02-03 | Barnes Jr Melvin L | System, method, and computer program product for providing location based services and mobile e-commerce |
US6567815B1 (en) | 2000-08-01 | 2003-05-20 | International Business Machines Corporation | Technique of clustering and compaction of binary trees |
US6356815B1 (en) * | 2000-08-25 | 2002-03-12 | Hughes Electronics Corporation | Stellar attitude-control systems and methods with weighted measurement-noise covariance matrices |
US20020188597A1 (en) * | 2000-09-01 | 2002-12-12 | Jonathan Kern | Methods and systems for linking tasks to workflow |
US7165175B1 (en) * | 2000-09-06 | 2007-01-16 | Widevine Technologies, Inc. | Apparatus, system and method for selectively encrypting different portions of data sent over a network |
JP2002132556A (en) * | 2000-10-30 | 2002-05-10 | Minolta Co Ltd | Apparatus of file control, method thereof and computer readable record medium recording program thereof |
DE10104831A1 (en) * | 2001-02-01 | 2002-08-08 | Sap Ag | Data structure for information systems |
EP1244310A1 (en) * | 2001-03-21 | 2002-09-25 | Canal+ Technologies Société Anonyme | Data referencing system |
US20020178439A1 (en) * | 2001-04-02 | 2002-11-28 | Rich L. Scott | Method and system for providing a programming interface for loading and saving archives in enterprise applications |
US20020161911A1 (en) * | 2001-04-19 | 2002-10-31 | Thomas Pinckney | Systems and methods for efficient memory allocation for streaming of multimedia files |
US7049995B2 (en) * | 2001-06-01 | 2006-05-23 | Thomson Licensing | Method and apparatus for remote control transmission |
US7171422B2 (en) * | 2001-06-02 | 2007-01-30 | Iona Technologies | Caching system for nested archives |
US20030126136A1 (en) * | 2001-06-22 | 2003-07-03 | Nosa Omoigui | System and method for knowledge retrieval, management, delivery and presentation |
US20030014529A1 (en) * | 2001-07-12 | 2003-01-16 | Simpson Shell Sterling | Mediated access to production device options in a distributed environment |
US20030035371A1 (en) * | 2001-07-31 | 2003-02-20 | Coke Reed | Means and apparatus for a scaleable congestion free switching system with intelligent control |
US6845373B2 (en) * | 2001-08-14 | 2005-01-18 | Wind River Systems, Inc. | Text stream filter |
US20030069948A1 (en) * | 2001-10-05 | 2003-04-10 | Donghai Ma | Automated online subscription |
US7386472B1 (en) * | 2001-12-10 | 2008-06-10 | Ncr Corporation | Self-checkout terminal |
US6694323B2 (en) * | 2002-04-25 | 2004-02-17 | Sybase, Inc. | System and methodology for providing compact B-Tree |
US20050182824A1 (en) * | 2002-04-30 | 2005-08-18 | Pierre-Alain Cotte | Communications web site |
US8611919B2 (en) * | 2002-05-23 | 2013-12-17 | Wounder Gmbh., Llc | System, method, and computer program product for providing location based services and mobile e-commerce |
US7203631B2 (en) * | 2002-09-09 | 2007-04-10 | Intel Corporation | System and method to analyze VLSI designs |
DE10245530B4 (en) * | 2002-09-30 | 2006-04-27 | OCé PRINTING SYSTEMS GMBH | Method, software product and computer for generating an IPDS data stream |
JP3880504B2 (en) * | 2002-10-28 | 2007-02-14 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Structured / hierarchical content processing apparatus, structured / hierarchical content processing method, and program |
US7503034B2 (en) * | 2002-10-31 | 2009-03-10 | International Business Machines Corporation | Method and system for dynamically mapping archive files in an enterprise application |
US7707544B2 (en) * | 2002-12-05 | 2010-04-27 | Bea Systems, Inc. | System and method for generating and reusing software application code with source definition files |
US20040117673A1 (en) * | 2002-12-17 | 2004-06-17 | Tawfik Arabi | Method and apparatus to provide platform load lines |
KR100490734B1 (en) * | 2002-12-21 | 2005-05-24 | 한국전자통신연구원 | Annotation-based automatic document generation apparatus and method |
US7185071B2 (en) * | 2002-12-24 | 2007-02-27 | International Business Machines Corporation | Self-healing version and configuration model for an application server |
US8292811B2 (en) * | 2003-03-20 | 2012-10-23 | Siemens Medical Solutions Usa, Inc. | Advanced application framework system and method for use with a diagnostic medical ultrasound streaming application |
WO2004086248A1 (en) * | 2003-03-27 | 2004-10-07 | International Business Machines Corporation | Systems and method for optimizing tag based protocol stream parsing |
US7797348B2 (en) * | 2003-05-01 | 2010-09-14 | The Hong Kong Polytechnic University | Data structure and system for IP address lookup and IP address lookup system |
US20040249805A1 (en) * | 2003-06-04 | 2004-12-09 | Alexey Chuvilskiy | Method of sorting and indexing of complex data |
KR20050019240A (en) * | 2003-08-18 | 2005-03-03 | 삼성전자주식회사 | Controlling Method of Network System |
US7873645B2 (en) * | 2003-09-05 | 2011-01-18 | Oracle International Corporation | Method and mechanism for handling arbitrarily-sized XML in SQL operator tree |
US7289979B2 (en) * | 2003-12-10 | 2007-10-30 | Alcatel Lucent | Parallel asymmetric binary search on lengths |
US8021301B2 (en) * | 2003-12-26 | 2011-09-20 | Fujifilm Corporation | Ultrasonic image processing apparatus, ultrasonic image processing method and ultrasonic image processing program |
JP4581404B2 (en) * | 2004-01-06 | 2010-11-17 | 富士ゼロックス株式会社 | Information processing apparatus and information processing program |
US7243110B2 (en) * | 2004-02-20 | 2007-07-10 | Sand Technology Inc. | Searchable archive |
US7788657B2 (en) * | 2004-02-27 | 2010-08-31 | Tvworks, Llc | Targeted runtime compilation |
US7685327B1 (en) * | 2004-03-19 | 2010-03-23 | Xilinx, Inc. | Identification of multi-device systems |
US7225186B2 (en) * | 2004-03-26 | 2007-05-29 | Kyocera Wireless Corp. | Binary search tree system and method |
US20050238260A1 (en) * | 2004-04-16 | 2005-10-27 | Dave Coleman | Image and optical mark scanner with encryption |
SE0400998D0 (en) * | 2004-04-16 | 2004-04-16 | Cooding Technologies Sweden Ab | Method for representing multi-channel audio signals |
JP4336613B2 (en) * | 2004-04-28 | 2009-09-30 | キヤノン株式会社 | Image forming apparatus, data processing method, computer-readable storage medium storing program, and program |
US20050262119A1 (en) * | 2004-05-24 | 2005-11-24 | Gary Mawdsley | Data processing systems and methods |
KR20050118567A (en) * | 2004-06-14 | 2005-12-19 | 삼성전자주식회사 | Display apparatus and display system using thereof |
US7379047B2 (en) * | 2004-06-30 | 2008-05-27 | Microsoft Corporation | Using a physical object to control an attribute of an interactive display application |
US7539975B2 (en) * | 2004-06-30 | 2009-05-26 | International Business Machines Corporation | Method, system and product for determining standard Java objects |
JP2006059319A (en) * | 2004-07-21 | 2006-03-02 | Ricoh Co Ltd | Information processor, program, and recording medium |
US7634092B2 (en) * | 2004-10-14 | 2009-12-15 | Dolby Laboratories Licensing Corporation | Head related transfer functions for panned stereo audio content |
US7882149B2 (en) * | 2004-11-30 | 2011-02-01 | Canon Kabushiki Kaisha | System and method for future-proofing devices using metaschema |
US20060143028A1 (en) * | 2004-12-23 | 2006-06-29 | Jorn Altmann | Network analysis system and method using business value |
US20060143027A1 (en) * | 2004-12-23 | 2006-06-29 | Srinivasan Jagannathan | Network usage analysis system using subscriber and pricing information to minimize customer churn and method |
US7831728B2 (en) * | 2005-01-14 | 2010-11-09 | Citrix Systems, Inc. | Methods and systems for real-time seeking during real-time playback of a presentation layer protocol data stream |
JP2006215954A (en) | 2005-02-07 | 2006-08-17 | Hitachi Ltd | Storage system and archive management method for storage device |
US7650346B2 (en) * | 2005-04-01 | 2010-01-19 | Microsoft Corporation | User-defined type consistency checker |
JP4374548B2 (en) * | 2005-04-15 | 2009-12-02 | ソニー株式会社 | Decoding device and method, recording medium, and program |
US8438468B2 (en) * | 2005-04-15 | 2013-05-07 | International Business Machines Corporation | Annotation management |
US8156500B2 (en) * | 2005-07-01 | 2012-04-10 | Microsoft Corporation | Real-time self tuning of planned actions in a distributed environment |
US8141036B2 (en) * | 2005-07-07 | 2012-03-20 | Oracle International Corporation | Customized annotation editing |
JP4285457B2 (en) * | 2005-07-20 | 2009-06-24 | ソニー株式会社 | Sound field measuring apparatus and sound field measuring method |
WO2007037029A1 (en) * | 2005-09-27 | 2007-04-05 | Yamaha Corporation | Feedback sound eliminating apparatus |
US20070153731A1 (en) * | 2006-01-05 | 2007-07-05 | Nadav Fine | Varying size coefficients in a wireless local area network return channel |
EP2306644B1 (en) * | 2006-01-27 | 2018-03-21 | Dolby International AB | Efficient filtering with a complex modulated filterbank |
US20070183688A1 (en) * | 2006-02-03 | 2007-08-09 | Gary Hollfelder | Data management system and method |
US7552099B2 (en) * | 2006-03-10 | 2009-06-23 | International Business Machines Corporation | System and method for indexing a data stream |
JP2007251549A (en) * | 2006-03-15 | 2007-09-27 | Fujifilm Corp | Network printing equipment |
US8806012B2 (en) * | 2006-03-31 | 2014-08-12 | Intel Corporation | Managing traffic flow on a network path |
US20110022941A1 (en) * | 2006-04-11 | 2011-01-27 | Brian Osborne | Information Extraction Methods and Apparatus Including a Computer-User Interface |
US20070253561A1 (en) * | 2006-04-27 | 2007-11-01 | Tsp Systems, Inc. | Systems and methods for audio enhancement |
US7962755B2 (en) * | 2006-04-28 | 2011-06-14 | Ceelox, Inc. | System and method for biometrically secured, transparent encryption and decryption |
US7668812B1 (en) * | 2006-05-09 | 2010-02-23 | Google Inc. | Filtering search results using annotations |
US9460064B2 (en) * | 2006-05-18 | 2016-10-04 | Oracle International Corporation | Efficient piece-wise updates of binary encoded XML data |
US20080013540A1 (en) * | 2006-07-11 | 2008-01-17 | Matthew Stuart Gast | System and method for selective delivery of media streams |
CN101512484B (en) * | 2006-07-12 | 2013-12-11 | 奥比融公司 | Methods and systems for compliance confirmation and incentives |
US8589869B2 (en) * | 2006-09-07 | 2013-11-19 | Wolfram Alpha Llc | Methods and systems for determining a formula |
US20080112564A1 (en) * | 2006-11-15 | 2008-05-15 | Jeff Eric Vanderstraeten | Image and optical mark scanner with encryption |
US8655939B2 (en) * | 2007-01-05 | 2014-02-18 | Digital Doors, Inc. | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
US8468244B2 (en) * | 2007-01-05 | 2013-06-18 | Digital Doors, Inc. | Digital information infrastructure and method for security designated data and with granular data stores |
EP1970824A1 (en) * | 2007-03-15 | 2008-09-17 | Magix Ag | System and method for creation of automated content dependent procedures in an online environment |
US8667471B2 (en) * | 2007-03-30 | 2014-03-04 | Sap Ag | Method and system for customizing profiling sessions |
US20080307240A1 (en) * | 2007-06-08 | 2008-12-11 | Texas Instruments Incorporated | Power management electronic circuits, systems, and methods and processes of manufacture |
US9438860B2 (en) * | 2007-06-26 | 2016-09-06 | Verizon Patent And Licensing Inc. | Method and system for filtering advertisements in a media stream |
US7925645B2 (en) * | 2007-07-19 | 2011-04-12 | Microsoft Corporation | Dynamic metadata filtering for classifier prediction |
US8112388B2 (en) * | 2007-08-03 | 2012-02-07 | Sap Ag | Dependency processing of computer files |
US8239340B2 (en) * | 2008-04-11 | 2012-08-07 | Trevor Hanson | Message conduit systems with algorithmic data stream control and methods for processing thereof |
US8271942B2 (en) * | 2008-05-06 | 2012-09-18 | International Business Machines Corporation | Defining a single annotation model |
-
2008
- 2008-08-01 US US12/184,932 patent/US8112388B2/en active Active
- 2008-08-01 US US12/184,938 patent/US9092408B2/en active Active
- 2008-08-01 US US12/184,915 patent/US8806324B2/en active Active
- 2008-08-01 US US12/184,904 patent/US20090037386A1/en not_active Abandoned
- 2008-08-01 US US12/184,896 patent/US8463724B2/en active Active
- 2008-08-01 US US12/184,924 patent/US20090037459A1/en not_active Abandoned
- 2008-08-01 US US12/184,911 patent/US8954840B2/en active Active
-
2015
- 2015-02-09 US US14/617,570 patent/US10509854B2/en active Active
Patent Citations (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5675708A (en) * | 1993-12-22 | 1997-10-07 | International Business Machines Corporation | Audio media boundary traversal method and apparatus |
US6173317B1 (en) * | 1997-03-14 | 2001-01-09 | Microsoft Corporation | Streaming and displaying a video stream with synchronized annotations over a computer network |
US6088747A (en) * | 1998-02-20 | 2000-07-11 | Unisys Corp | System for reformatting and burning of data files having a first format onto a compact disk to be utilized in a network using different format |
US6915271B1 (en) * | 1998-03-11 | 2005-07-05 | The Product Engine, Inc. | Method and system for delivering redeeming dynamically and adaptively characterized promotional incentives on a computer network |
US6356946B1 (en) * | 1998-09-02 | 2002-03-12 | Sybase Inc. | System and method for serializing Java objects in a tubular data stream |
US6298353B1 (en) * | 1998-11-19 | 2001-10-02 | International Business Machines Corporation | Checking serialization compatibility between versions of java classes |
US6339832B1 (en) * | 1999-08-31 | 2002-01-15 | Accenture Llp | Exception response table in environment services patterns |
US20020029228A1 (en) * | 1999-09-09 | 2002-03-07 | Herman Rodriguez | Remote access of archived compressed data files |
US6502100B1 (en) * | 1999-12-30 | 2002-12-31 | Nokia Corporation | Method and apparatus for acquiring and storing data in association with a mode annotation |
US6574792B1 (en) * | 2000-03-22 | 2003-06-03 | International Business Machines Corporation | Dynamically generating expanded user messages in a computer system |
US20020059348A1 (en) * | 2000-11-14 | 2002-05-16 | Cypress Semiconductor Corp. | Automatic documentation generation tool and associated method |
US20060080300A1 (en) * | 2001-04-12 | 2006-04-13 | Primentia, Inc. | System and method for organizing data |
US6718338B2 (en) * | 2001-06-26 | 2004-04-06 | International Business Machines Corporation | Storing data mining clustering results in a relational database for querying and reporting |
US20030018620A1 (en) * | 2001-06-26 | 2003-01-23 | International Business Machines Corporation | Storing data mining clustering results in a relational database for querying and reporting |
US20030195903A1 (en) * | 2002-03-19 | 2003-10-16 | Manley Stephen L. | System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping |
US20060184587A1 (en) * | 2002-03-19 | 2006-08-17 | Federwisch Michael L | System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot |
US20040034830A1 (en) * | 2002-08-16 | 2004-02-19 | Commerce One Operations, Inc. | XML streaming transformer |
US7721202B2 (en) * | 2002-08-16 | 2010-05-18 | Open Invention Network, Llc | XML streaming transformer |
US20050010454A1 (en) * | 2002-11-08 | 2005-01-13 | Falk Robert J. | System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction |
US7962385B2 (en) * | 2002-11-08 | 2011-06-14 | Arbitration Forums, Inc. | System and process for electronic subrogation, inter-organization workflow management, inter-organization transaction processing and optimized web-based user interaction |
US20050010562A1 (en) * | 2003-04-30 | 2005-01-13 | Fumio Nagasaka | File management method, file management device, annotation information generation method, and annotation information generation device |
US20040230576A1 (en) * | 2003-05-17 | 2004-11-18 | Microsoft Corporation | Mechanism for applying transforms to multi-part files |
US20050015759A1 (en) * | 2003-07-19 | 2005-01-20 | Bea Systems, Inc. | Method and system for translating programming languages |
US20060259168A1 (en) * | 2003-07-21 | 2006-11-16 | Stefan Geyersberger | Audio file format conversion |
US20050060692A1 (en) * | 2003-09-16 | 2005-03-17 | Nikolai Mansourov | Method and apparatus for reducing time to generate a build for a software product from source-files |
US7900133B2 (en) * | 2003-12-09 | 2011-03-01 | International Business Machines Corporation | Annotation structure type determination |
US20050160427A1 (en) * | 2003-12-16 | 2005-07-21 | Eric Ustaris | System and method for managing log files |
US20050154679A1 (en) * | 2004-01-08 | 2005-07-14 | Stanley Bielak | System for inserting interactive media within a presentation |
US20050254714A1 (en) * | 2004-05-13 | 2005-11-17 | Ramakrishna Anne | Systems and methods for data transfer with camera-enabled devices |
US20050289505A1 (en) * | 2004-06-25 | 2005-12-29 | Williams Stanley N | Method and system for improving performance and scalability of applications that utilize a flow-based-programming methodology |
US20060123332A1 (en) * | 2004-12-02 | 2006-06-08 | International Business Machines Corporation | Method and apparatus for incrementally processing program annotations |
US7562342B2 (en) * | 2004-12-02 | 2009-07-14 | International Business Machines Corporation | Method and apparatus for incrementally processing program annotations |
US20060130020A1 (en) * | 2004-12-14 | 2006-06-15 | Abdullah Mohd H | Compile time linking via hashing technique |
US20060184552A1 (en) * | 2005-02-15 | 2006-08-17 | International Business Machines Corporation | Memory efficient XML shredding with partial commit |
US7363317B2 (en) * | 2005-02-15 | 2008-04-22 | International Business Machines Corporation | Memory efficient XML shredding with partial commit |
US8032491B1 (en) * | 2005-04-22 | 2011-10-04 | Symantec Operating Corporation | Encapsulating information in a storage format suitable for backup and restore |
US7565364B1 (en) * | 2005-05-24 | 2009-07-21 | Sun Microsystems, Inc. | Annotation processor discovery |
US7499956B1 (en) * | 2005-05-24 | 2009-03-03 | Sun Microsystems, Inc. | Annotation processing from source files and class files |
US20070005758A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Application security in an interactive media environment |
US20070061350A1 (en) * | 2005-09-12 | 2007-03-15 | Microsoft Corporation | Comment processing |
US7814328B1 (en) * | 2005-09-12 | 2010-10-12 | Microsoft Corporation | Digital signatures for embedded code |
US7921138B2 (en) * | 2005-09-12 | 2011-04-05 | Microsoft Corporation | Comment processing |
US20070106863A1 (en) * | 2005-11-04 | 2007-05-10 | Sun Microsystems, Inc. | Method and system for storing a sparse file using fill counts |
US20070136492A1 (en) * | 2005-12-08 | 2007-06-14 | Good Technology, Inc. | Method and system for compressing/decompressing data for communication with wireless devices |
US20080295003A1 (en) * | 2005-12-14 | 2008-11-27 | International Business Machines Corporation | Method, System, and Computer Program Product For Efficiently Serializing Navigational State in a Portal |
US20070226715A1 (en) * | 2006-02-13 | 2007-09-27 | Fujitsu Limited | Application server system and computer product |
US20070214384A1 (en) * | 2006-03-07 | 2007-09-13 | Manabu Kitamura | Method for backing up data in a clustered file system |
US7966602B1 (en) * | 2006-03-16 | 2011-06-21 | Oracle America, Inc. | Incremental modification detector, and methods, systems, and apparatus for implementing the same |
US20070271090A1 (en) * | 2006-05-22 | 2007-11-22 | Microsoft Corporation | Indexing and Storing Verbal Content |
US20080052662A1 (en) * | 2006-08-24 | 2008-02-28 | Robert Marc Zeidman | Software For Filtering The Results Of A Software Source Code Comparison |
US20080162511A1 (en) * | 2006-12-30 | 2008-07-03 | Theobald Dietmar C | Computer file system traversal |
US7904529B2 (en) * | 2007-02-23 | 2011-03-08 | International Business Machines Corporation | Method and system for transmitting and recording synchronized data streams |
US20080235661A1 (en) * | 2007-03-21 | 2008-09-25 | Computer Associates Think, Inc. | System and method for using annotations to automatically generate a framework for a custom javaserver faces (jsf) component |
US20090228863A1 (en) * | 2008-03-06 | 2009-09-10 | Leho Nigul | Populating information contained in java annotations into existing emf models |
US20090254884A1 (en) * | 2008-04-08 | 2009-10-08 | Infosys Technologies Ltd. | Identification of topics in source code |
Non-Patent Citations (4)
Title |
---|
Ernst, "Annotations on Java Types", November 5, 2007, 33 pages. * |
Lecture, "Reading and Writing Files", 2013, 7 pages, accessed online at on 01/02/2013. * |
Oracle, "Getting Started with the Annotation Processing Tool (apt)", copyright 2004-2010, 8 pages, accessed online at on 01/02/2013. * |
Sun Microsystem, Inc., "Getting Started with the Annotation Processing Tool (apt)", copyright 2004, 8 pages, accessed online and printed on 04/06/2007. * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11915243B2 (en) | 2015-02-03 | 2024-02-27 | Visa International Service Association | Validation identity tokens for transactions |
US11336523B2 (en) * | 2017-10-04 | 2022-05-17 | Servicenow, Inc. | System and method for database access using a history walker |
US20220278899A1 (en) * | 2017-10-04 | 2022-09-01 | Servicenow, Inc. | System and method for database access using a history walker |
Also Published As
Publication number | Publication date |
---|---|
US20090037459A1 (en) | 2009-02-05 |
US20090037577A1 (en) | 2009-02-05 |
US8806324B2 (en) | 2014-08-12 |
US8954840B2 (en) | 2015-02-10 |
US9092408B2 (en) | 2015-07-28 |
US8112388B2 (en) | 2012-02-07 |
US20090037357A1 (en) | 2009-02-05 |
US8463724B2 (en) | 2013-06-11 |
US10509854B2 (en) | 2019-12-17 |
US20090037804A1 (en) | 2009-02-05 |
US20150154169A1 (en) | 2015-06-04 |
US20090037805A1 (en) | 2009-02-05 |
US20090037478A1 (en) | 2009-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090037386A1 (en) | Computer file processing | |
US8745584B2 (en) | Dependency injection by static code generation | |
WO2017059798A1 (en) | Methods, apparatus, and system for serialization and deserialization, and electronic devices | |
US10853096B2 (en) | Container-based language runtime loading an isolated method | |
CN110825385B (en) | Method for constructing read Native offline package and storage medium | |
WO2013070561A1 (en) | External serialization and deserialization | |
JP2005063449A (en) | Method and apparatus for Java native interface mapping from object to object | |
CN111475150A (en) | Cross-language binding method, device, equipment and storage medium | |
Richard et al. | PluginPlay: Enabling exascale scientific software one module at a time | |
JP5789236B2 (en) | Structured document analysis method, structured document analysis program, and structured document analysis system | |
US9367553B2 (en) | Computer file system traversal | |
US20220374398A1 (en) | Object Creation from Schema for Event Streaming Platform | |
CN111881220B (en) | Data operation method and device under list storage, electronic equipment and storage medium | |
JP2006221652A (en) | Encoded document decoding method and system | |
CN118012696A (en) | An efficient monitoring method for containers | |
US10848410B2 (en) | Ranking service implementations for a service interface | |
Doumler et al. | Explicit lifetime management | |
Liang et al. | The Design of a Protocal Buffer Library for Vala | |
CN103415837A (en) | Real-time loading and using method of dynamic link library for AM CAD | |
Friesen | Java I/o, Nio and Nio. 2 | |
CN112256245B (en) | A device and method for converting between extensible markup language and C++ class | |
CN119166636A (en) | Data processing method, device, electronic device, storage medium and program | |
CN119166200A (en) | Application packaging method, device, medium and product | |
CN116107588A (en) | Program language conversion method, apparatus, device, medium, and program product | |
US20100023923A1 (en) | Method for medeling objects in a hetrogenious computing environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAP AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THEOBALD, DIETMAR;REEL/FRAME:021334/0433 Effective date: 20080801 |
|
AS | Assignment |
Owner name: SAP SE, GERMANY Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0223 Effective date: 20140707 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |