US7437712B1 - Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved - Google Patents
Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved Download PDFInfo
- Publication number
- US7437712B1 US7437712B1 US10/762,598 US76259804A US7437712B1 US 7437712 B1 US7437712 B1 US 7437712B1 US 76259804 A US76259804 A US 76259804A US 7437712 B1 US7437712 B1 US 7437712B1
- Authority
- US
- United States
- Prior art keywords
- software
- code
- build
- version
- archive
- 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.)
- Active, expires
Links
Images
Classifications
-
- 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/71—Version control; Configuration management
Definitions
- the present invention is directed to computer software, and more particularly, but not by way of limitation, to a system and method for building computer software.
- the application or software may comprise multiple executable tasks, modules, or components as well as various data and/or configuration files.
- Parts of the software may need to be created from computer program source files by compiling the computer programs into object code or into byte code and then linking the object code into an executable (byte code may be run directly by an interpreter and need not be linked to be made executable).
- Compiling source code may need to take place in a particular order to resolve dependencies between the source code files.
- the building process may involve validating either the presence or contents of configuration files and also may involve processing other kinds of files or data.
- the end products of software build activities may be stored in archive files, for example, in JAVA archive (JAR) files.
- JAR JAVA archive
- Building software may comprise both manual and automated steps.
- an automated build process is less time consuming and less error prone than a manual build process.
- Scripts are often employed to automate parts of the build process.
- a script is a series of commands that may be directly executed by a computer which understands the script language without the series of commands needing first to be compiled and or linked.
- a code control system is commonly associated with a software build system.
- the CCS provides mechanisms for controlling changes to the various files and sources which are employed to build the software as well as for controlling the resultant products of the build process.
- One of these mechanisms may include a locked check-out which prevents two developers from corrupting each other's work. Without a locked check-out mechanism, for example, if two developers check-out copies of the same file, each developer changes their checked out copy of the same file, each developer checks in their edited copy of the file, the last copy to be checked in writes over the edits of the first copy to be checked in, destroying those edits. With a locked check-out mechanism, only one developer is permitted to check-out a file for writing at a time.
- a CCS may be purchased or leased as an off-the-shelf software product, for example MERANT's PVCS version management system or IBM's RATIONAL CLEARCASE software configuration management system.
- the process of building software or building an application is sometimes referred to as conducting a software build, making a software build, or making a build.
- the result of the process of building software is sometimes referred to as a software build or a build.
- the present embodiment provides a system for managing software builds.
- the system comprises a code control system operable to maintain a code version and a information associated with the code version, a parser module in communication with the code control system, the parser module operable to parse the information associated with the code version and create a change report, and a compiler module in communication with the code control system and operable to compile the code version into an object version based on the change report.
- a method of managing software builds comprising changing, by a developer, source code of a software archive, requesting, in a source archive system maintaining the software archive, a build of the software archive including the source code, the request including a build request template, generating a change matrix based on the build request template, notifying an approver of the software build request, notifying the developer when the software build request is denied by the approver, and rebuilding the software archive based upon the change matrix when the software build request is approved by the approver.
- a method for building a software version comprising storing a revised code version and a description of the revisions in a code control system, generating a change report based on the description of the revisions to the revised code version, authorizing a build of a software version including the revised code version, and building the software version based on the change report.
- FIG. 1 is a block diagram of the software build tool system according to one embodiment.
- FIG. 2 is a block diagram of the software build tool system according to another embodiment.
- FIG. 3 is a flow diagram for a method of building a software application.
- FIG. 4 is a flow diagram of a detailed portion of the method of building a software application.
- FIG. 5 illustrates an exemplary general purpose computer system suitable for implementing the several embodiments of the software build tool.
- the software build tool of the present disclosure combines a JAVA-based website interface and Jakarta ANT scripts working in coordination with the MERANT PVCS version management system to manage the creation of Workflow Broker build JAVA archives (JARs).
- One objective for the software build tool is to provide a unified tool for introducing changes of JARs, for approving changes to JARs, and for building JARs.
- a code control system (CCS) 12 stores the code sources, various files, and other input which are processed to build a software product or application.
- the code sources may include files in various programming languages, for example, JAVA and C++.
- the various files may include, for example, configuration text files, interface definition language (IDL) files, and data type definition (DTD) documents.
- IDL file contains a language independent definition of how two modules or systems communicate with each other.
- XML extensible markup language
- BUSINESSWARE application When two systems communicate by passing text files back and forth between each other, for example by passing extensible markup language (XML) text files, a BUSINESSWARE application must be informed of what these text files contain. BUSINESSWARE applications obtain this information through examining metadata contained in metadata classes.
- the DTD documents may be compiled to produce the needed metadata classes, as described further hereinafter.
- the CCS 12 also stores the intermediate and end products of the software build process including object files, compiled byte code files, executable files, and Workflow Broker build JAR files.
- the Workflow Broker may be a component or application of an commercial off-the-shelf (COTS) application such as VITRIA's BUSINESSWARE, which has been customized or tailored for these purposes.
- COTS commercial off-the-shelf
- the CCS 12 also stores files associated with the mechanics of the build process itself including script files and a change report 22 .
- the CCS 12 may be an off-the-shelf software application, for example the MERANT PVCS version management system.
- the CCS 12 may be associated with storage 14 where source files, configuration files, object code files, linked files, and other build product data are physically stored. In one embodiment, the CCS 12 provides the preferred method to access the storage 14 .
- the CCS 12 may provide interfaces which users and administrators may use to interact with and use the CCS 12 , thereby accessing and interacting with the storage 14 .
- a user web client 16 interface and an administrator web client 18 interface are depicted in FIG. 1 , but in some embodiments there may be other interfaces.
- the user web client 16 may check-out files, modify checked-out files, and check-in files.
- software developers would employ the user web client 16 to develop the software.
- the CCS 12 may enforce a policy requiring the user web client 16 to provide text comments in conformance with a standard comment form when checking-in files.
- the comments describe the changes to the file, the version of the file being checked-in, perhaps a reference to test results, and other information.
- the standardization of the form of the file check-in comment makes the comments parseable by scripts.
- An example standard comment template is the following:
- states, events, transitions, and fields which are associated with the above example standard comment template refer to constructs employed in a software analysis model.
- a state-transition model may represent one aspect of a software application as a plurality of static states, a set of allowed transitions among the states, and a set of events which may trigger specific transitions from a first state to a second state.
- Fields may refer to components of an object.
- a change report 22 also referred to as a change matrix, which consolidates, for example in one document or file, the information necessary to define or specify the software build to be performed.
- the change report 22 may contain entries for multiple changed files, wherein one entry in the change report is associated with each changed file.
- the JAVA properties format may be used to parse comments.
- the change report 22 may be captured in a MICROSOFT EXCEL spreadsheet document, but the software build tool system 10 is not limited to employing a MICROSOFT EXCEL spreadsheet document to represent the change report 22 .
- the change report 22 is stored in the CCS 12 .
- the event which triggers the parser module 20 to generate the change report 22 may take different forms in different embodiments.
- the event may be the developer changing the status of an archive from SUBMIT status to CHANGED status, which is also known as promoting from SUBMIT status to CHANGED status.
- the generation of the change report 22 triggers an email to be sent to build administrators that states that a build is waiting for their attention.
- the change report 22 may be authorized by a build administrator using the administrator web client 18 interface.
- a build administrator examines the change report 22 , verifies that software change policies have been adhered to, and approves or authorizes the software build (or disapproves the software build).
- the software change policies may require that testing be performed and test results be referenced in the change report 22 .
- the test results reference might be introduced into the change report 22 , for example, via a test results field in the standardized comment.
- an event is generated which causes the software build to start.
- the event which triggers the software build may take different forms in different embodiments.
- the event may be the administrator changing the status of the archive, also referred to as promoting the archive status, from CHANGED to APPROVED status.
- the software build process involves a compiler module 24 compiling source code into object code.
- the compiler module 24 may comprise one or more scripts which invoke one or more off-the-shelf compiler programs.
- the compiler module 24 is in communication with the CCS 12 and has access thereby to the source files and other files.
- the compiler module 24 may be responsible for validating the directory structures and contents of various files, for example, configuration files, before proceeding with the software build process.
- the compiler module 24 may determine a compilation order for source code and compile each source in the identified compilation order. In some embodiments the compilation order may be defined in a file, such as a makefile, rather than determined by the compiler module 24 at the moment of starting a compile.
- a makefile comprises a series of structures that define build targets, compilation dependencies, the commands to build the targets, and sometimes contains references to other makefiles.
- a makefile is used by the make utility which may be invoked by the compiler module 24 when compiling.
- off-the-shelf compiler programs may be invoked if the source code is in more than one programming language, because off-the-shelf compiler programs are language specific.
- the compiler programs typically produce an intermediate object file from each source code file.
- JAVA compilers typically compile Java source code files into byte code files which are ready to run on a JAVA virtual machine interpreter without any further processing.
- the object files and byte code files produced by the off-the-shelf compiler programs are stored in the CCS 12 .
- the next phase of the software build process involves a linker module 26 linking object files into executable files.
- the linker module 26 may comprise one or more scripts which invoke an off-the-shelf linker program.
- the linker module 26 has access to the object files via the CCS 12 .
- the off-the-shelf linker program produces executable files from the object files.
- the software products are stored in the CCS 12 and are associated with a version identification.
- an email providing notification of the result of the software build and referencing the change report 22 which controlled the software build may be sent out to members of the software development community and members of the software build administrator team.
- the software build process may rebuild all software products.
- the software build process may rebuild only those software products which have been affected by the changes described in the change report 22 .
- the partial software build may be referred to as an incremental build. In an embodiment which supports incremental builds, however, a mechanism may be supported to force a complete rebuild.
- the parser module 20 , the compiler module 24 , and the linker module 26 may not exist as separate and distinct modules or computer programs, but may be contiguous blocks of the build script.
- build script lines 25 through 57 may be dedicated to the responsibilities of the parser module 20 , parsing comments and generating the change report 22 .
- Build script lines 62 through 68 may be dedicated to the responsibilities of the compiler module 24 .
- Build script lines 87 through 89 may be dedicated to the responsibilities of the linker module 26 .
- the build script may call other scripts, computer programs, or subroutines which correspond to the parser module 20 , the compile module 24 , and the linker module 26 .
- the parser module 20 , compiler module 24 , linker module 26 , CCS 12 , user web client 16 , and administrator web client 18 include scripts and/or computer programs which may execute on a general purpose computer system, which is discussed hereinafter.
- FIG. 2 a block diagram of another embodiment of a software build tool system 27 is depicted.
- a user interface 28 allows users to check-out and check-in code files and other files from the CCS 12 .
- the CCS 12 is a MERANT PVCS version management system, but in other embodiments a different off-the-shelf CCS 12 may be employed.
- a code compiler module 30 comprises one or more off-the-shelf compiler programs.
- a document type definition (DTD) compiler 32 compiles DTD documents into metadata classes.
- the metadata classes support VITRIA's BUSINESSWARE off-the-shelf software.
- An interface definition language (IDL) grinder 34 transforms IDL files into code stubs.
- IDL interface definition language
- the grinder 34 transforms IDL files into Java code stubs. Grinding is the interim act of compilation that is necessary to generate dependent class files for the host application to import required data sets(s). The subsequent importing and registering of these data sets with the host application, ensures a common interface definition persists between applications/technologies. IDL stub compilation is based upon the language, for example JAVA or C++, and creates a class file which then becomes the basis for subsequent code, such as JAVA or C++, to be compiled against.
- the software build tool system 27 includes the user web client 16 interface and the administrator web client 18 interface. These web clients are supported by a web site application constructed as a standard JAVA Servlet/JAVA Server Pages (JSP) 2.3 web application. This web application is based on the Jakarta Struts web application framework. Struts is a simple web framework that provides a clean organization of the parts of a Servlet/JSP website.
- the user logs on to the software build tool system 27 and triggers the parser 20 to generate the change report 22 .
- the JAVA properties format may be used to parse comments.
- the change report 22 may contain entries for multiple changed files, one entry per changed file.
- the user may review the change report 22 and submit the change report 22 for evaluation by the administrator.
- the change report 22 is a MICROSOFT EXCEL spreadsheet file, but in other embodiments the change report 22 may be stored in a different file format.
- the software build tool system 27 may send an email containing a copy of the change report 22 in hypertext markup language format and containing a copy of a testing results document to the administrators.
- the administrator logs on to the software build tool system 27 via the administrator web client interface 18 and reviews the change report 22 . If the administrator decides that the software build should be launched, the administrator approves the change report 22 which triggers the software build to begin. In this embodiment, the administrator approves the change report 22 by changing the status of the change report 22 from the CHANGED status to APPROVED status, also referred to as promoting from CHANGED status to APPROVED status, in the MERANT PVCS version management system, CCS 12 .
- the software build tool system 27 executes a series of scripts when the software build process is started.
- the software build tool system 27 checks that all necessary directories exist in the CCS 12 .
- the software build tool system 27 attempts to lock a special file in the CCS 12 .
- the purpose of locking this special file is to assure that no other software build is being conducted at the same time, which would result in needless duplication of effort. If a lock cannot be obtained on the special file, the software build tool system 27 discontinues the software build process and sends an email to administrators stating that the special file is locked and should be unlocked.
- the special file may be empty and plays no role other than to assure that only one build activity is occurring at a time.
- the software build tool system 27 invokes the DTD compiler 32 to generate the metadata classes.
- the software build tool system 27 invokes the IDL grinder 34 to transform IDL files into IDL code stubs.
- the software build tool system 27 identifies an IDL file compilation order, a sequence for compiling the IDL files which is determined by dependencies among the IDL files, and then invokes the code compiler 30 to compile the IDL code stubs in the identified compilation order.
- the software build tool system 27 invokes the code compiler module 30 to compile the source code files.
- the code compiler module 30 may determine a compilation order for source code and compile each source in the identified compilation order.
- the compilation order may be defined in a file, such as a makefile, rather than determined by the code compiler module 30 at the moment of starting the compile.
- the software build tool system 27 invokes the linker module 26 to link object files into executable files, if necessary.
- the various products, including Workflow Broker build JARs, of the software build process are stored in the CSS 12 as they are completed. When the entire software build process has completed successfully version information is applied to the end products of the software build process.
- names other than SUBMIT, CHANGED, and APPROVED may be used to denote the status of change reports 22 .
- the CCS 12 , user web client 16 , administrator web client 18 , parser module 20 , code compiler module 30 , DTD compiler module 32 , IDL grinder module 34 , and linker module 26 comprise scripts and/or computer programs. Because much of the build process is controlled by scripts rather than compilable computer programs, the identification of the parser module 20 , code compiler module 30 , DTD compiler module 32 , IDL grinder module 34 , and linker module 26 may be on the basis of the function of a block of script commands rather than separate files, components, or modules which may execute as distinctly different subroutines, processes, or tasks.
- the build scripts are Jakarta ANT scripts, some of which are extended using mechanisms provided by Jakarta ANT for extending its capabilities.
- source and file directories may be structured to conform with current Java community practices known to those skilled in the art.
- FIG. 3 a flow chart illustrating a process for building software employing the software build tool system 27 is shown.
- the process begins at block 50 and proceeds to block 52 where changed code is checked into the CCS 12 with a comment conforming to a standardized comment form. This standardized form includes fields for information that is needed to build the associated software.
- the process proceeds to block 54 where a change report 22 is generated based on parsing the comment associated with the checked-in code provided in block 52 .
- the process proceeds to block 56 in which an email is generated and sent to all build administrators to notify them that a change report 22 is pending authorization.
- the process proceeds to block 58 in which an administrator either approves or disapproves the change report 22 .
- the process proceeds to block 62 in which the build of software is performed.
- the process proceeds to block 64 in which an email is generated and sent to developers and build administrators describing the build which was just completed.
- the process proceeds to block 66 where the process exits. If, at block 60 , the change report 22 is disapproved the process proceeds directly to block 66 where the process exits without performing a build.
- FIG. 4 a flow chart illustrating the detailed steps involved in building the software in block 62 above are represented.
- the process begins at 62 a .
- block 62 b if all necessary directories exist and a lock can be placed on the special file, the process proceeds to block 62 c in which the DTDs are compiled into metadata classes and these metadata classes are imported into a local BusinessWare instance. Recall that the special file may be empty and plays no role other than to assure that only one build activity is occurring at a time.
- the process proceeds to block 62 d where those IDLs which have changed since the last build are ground into code stubs (the IDLs which remain unchanged need not be ground again, since their code stubs are still in the CCS 12 ).
- the timestamp of the last build is kept in a file stored in each CCS 12 PVCS project build directory, for example in a file named cmac.control. Note that the DTDs are compiled before grinding the IDLs into code stubs, because some of the IDLs depend upon metadata in the DTDs.
- the process proceeds to block 62 e where the proper compilation order for the IDL code stubs is determined and the IDL code stubs are compiled.
- the IDL stubs are kept in a separate directory from the other source code so that they may be zipped-up if a developer needs only the IDL stubs.
- Zipping a set of files is a process of packaging the files into a single file using a zip command.
- the files are later extracted from the zipped file using an unzip command. It will be appreciated that other compression systems may be used as well.
- the process proceeds to block 62 f in which code sources are compiled. Only source files which have changed are compiled, assuring a short build time. Note that the IDL stubs are compiled before the source is compiled because the source code may depend upon the IDL stubs.
- the BUSINESSWARE Connector def classes are called to create the customer connector INIS. INIS may refer to any structure where all the property files are stored, such that these property files or configuration files provide environment specific information based upon where they are deployed.
- the classes to call are stored in the project configuration file. The build is associated with a timestamp, and the lock on the special file is released.
- the process proceeds to block 62 g where the software build completes. If a lock cannot be placed on the special file in block 62 b the process proceeds directly to block 62 g and completes without having built the new software. If the build process produces object code which needs to be linked, there would be a block between block 62 f and block 62 g in which the object code was linked to produce an executable file.
- the software build tool system 27 executes on a centralized build server, in other embodiments the software build tool system may execute on workstation computers dedicated to a software build administrator.
- the software build tool systems 10 and 27 illustrated in the embodiments described above may complete software builds faster than less automated build systems. When making builds manually, occasionally a needed file is overlooked and not built into the new software load. This error may not be discovered until the software load is installed and executed, wasting time and delaying development progress.
- the software build tool system 10 , 27 is readily redeployed to support a different project or the next revision stage of a project. Further, the file lock mechanism contemplated for some embodiments of the software build tool system 10 , 27 avoids duplication of administrator effort.
- the software build tool systems 10 and 27 also enable software builds to be run more frequently, because the build administrators's involvement is reduced and hence eliminates them as a bottle neck, which makes the software development process smoother and more efficient.
- FIG. 5 illustrates a typical, general-purpose computer system suitable for implementing one or more embodiments disclosed herein.
- the computer system 380 includes a processor 382 (which may be referred to as a central processor unit or CPU) that is in communication with memory devices including secondary storage 384 , read only memory (ROM) 386 , random access memory (RAM) 388 , input/output (I/O) devices 390 , and network connectivity devices 392 .
- the processor may be implemented as one or more CPU chips.
- the secondary storage 384 is typically comprised of one or more disk drives or tape drives and is used for non-volatile storage of data and as an over-flow data storage device if RAM 388 is not large enough to hold all working data. Secondary storage 384 may be used to store programs which are loaded into RAM 388 when such programs are selected for execution.
- the ROM 386 is used to store instructions and perhaps data which are read during program execution. ROM 386 is a non-volatile memory device which typically has a small memory capacity relative to the larger memory capacity of secondary storage.
- the RAM 388 is used to store volatile data and perhaps to store instructions. Access to both ROM 386 and RAM 388 is typically faster than to secondary storage 384 .
- I/O devices 390 may include printers, video monitors, keyboards, mice, track balls, voice recognizers, card readers, paper tape readers, or other well-known input devices.
- the network connectivity devices 392 may take the form of modems, modem banks, ethernet cards, token ring cards, fiber distributed data interface (FDDI) cards, and other well-known network devices. These network connectivity devices 392 may enable the processor 382 to communicate with an Internet or one or more intranets. With such a network connection, it is contemplated that the processor 382 might receive information from the network, or might output information to the network in the course of performing the above-described method steps. Such information, which is often represented as a sequence of instructions to be executed using processor 382 , may be received from and outputted to the network, for example, in the form of a computer data signal embodied in a carrier wave.
- the processor 382 executes instructions, codes, computer programs, scripts which it accesses from hard disk, floppy disk, optical disk (these various disk based systems may all be considered secondary storage 384 ), ROM 386 , RAM 388 , or the network connectivity devices 392 .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (26)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/762,598 US7437712B1 (en) | 2004-01-22 | 2004-01-22 | Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/762,598 US7437712B1 (en) | 2004-01-22 | 2004-01-22 | Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved |
Publications (1)
Publication Number | Publication Date |
---|---|
US7437712B1 true US7437712B1 (en) | 2008-10-14 |
Family
ID=39828450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/762,598 Active 2026-05-12 US7437712B1 (en) | 2004-01-22 | 2004-01-22 | Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved |
Country Status (1)
Country | Link |
---|---|
US (1) | US7437712B1 (en) |
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070174814A1 (en) * | 2006-01-11 | 2007-07-26 | Bea Systems, Inc. | System and method for build script generation in a software development environment |
US20070240116A1 (en) * | 2006-02-22 | 2007-10-11 | International Business Machines Corporation | System and method for maintaining and testing a software application |
US20080059946A1 (en) * | 2006-08-31 | 2008-03-06 | Jeremy Harding | Method and system for determining dependencies in a mainframe development environment |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
US20080196004A1 (en) * | 2007-02-14 | 2008-08-14 | Samsung Electronics Co., Ltd. | Apparatus and method for developing component-based software |
US20090083698A1 (en) * | 2004-09-30 | 2009-03-26 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US7552421B1 (en) * | 2008-04-07 | 2009-06-23 | International Business Machines Corporation | Method for adding comments to deleted code |
US20090210855A1 (en) * | 2008-02-20 | 2009-08-20 | Embarcadero Technologies Inc. | Development System with Improved Methodology for Creation and Reuse of Software Assets |
US20090249288A1 (en) * | 2008-03-28 | 2009-10-01 | International Business Machines Corporation | Rebuildable service-oriented applications |
US20100088270A1 (en) * | 2008-10-03 | 2010-04-08 | Carsten Ziegler | Data versioning concept including time dependency and active and inactive states |
US20110023007A1 (en) * | 2009-07-23 | 2011-01-27 | Ibm Corporation | Associating Workflows With Code Sections In A Document Control System |
US20110035742A1 (en) * | 2006-02-03 | 2011-02-10 | Research In Motion Limited | System and method for extending a component-based application platform with custom services |
US20110197175A1 (en) * | 2010-02-05 | 2011-08-11 | International Business Machines Corporation | Automated application generation method and system |
US20120005667A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Integrated exchange of development tool console data |
US20120023445A1 (en) * | 2010-07-26 | 2012-01-26 | Baeuerle Stefan A | Managing extension projects with repository based tagging |
US20120179805A1 (en) * | 2005-03-31 | 2012-07-12 | Tripwire, Inc. | Data processing environment change management methods and apparatuses |
US8327330B1 (en) * | 2010-01-11 | 2012-12-04 | Google Inc. | System and method of generating build instructions |
US8677315B1 (en) * | 2011-09-26 | 2014-03-18 | Amazon Technologies, Inc. | Continuous deployment system for software development |
US20150121553A1 (en) * | 2013-10-25 | 2015-04-30 | Red Hat, Inc. | System and method for code protection |
US9110756B1 (en) * | 2012-11-14 | 2015-08-18 | Amazon Technologies, Inc. | Tag-based deployment to overlapping host sets |
US20150254073A1 (en) * | 2012-08-01 | 2015-09-10 | Sherpa Technologies Inc. | System and Method for Managing Versions of Program Assets |
US20150317288A1 (en) * | 2007-07-18 | 2015-11-05 | Ebay Inc. | Method and system to maintain a web page |
US9280331B2 (en) * | 2014-05-09 | 2016-03-08 | Sap Se | Hash-based change tracking for software make tools |
US20160132517A1 (en) * | 2014-11-07 | 2016-05-12 | International Business Machines Corporation | Method to simplify the check-in of checked-out files in an ecm system |
US20160179508A1 (en) * | 2014-12-18 | 2016-06-23 | International Business Machines Corporation | Assertions based on recently changed code |
US9893972B1 (en) | 2014-12-15 | 2018-02-13 | Amazon Technologies, Inc. | Managing I/O requests |
US9928059B1 (en) | 2014-12-19 | 2018-03-27 | Amazon Technologies, Inc. | Automated deployment of a multi-version application in a network-based computing environment |
US10334462B2 (en) | 2016-06-23 | 2019-06-25 | Bank Of America Corporation | Predictive analytics for resource development based on information communicated from inter-related communication devices |
US10439913B2 (en) | 2016-07-01 | 2019-10-08 | Bank Of America Corporation | Dynamic replacement and upgrade of existing resources based on resource utilization |
US10467198B2 (en) * | 2016-09-15 | 2019-11-05 | Oracle International Corporation | Network partition tolerance in a high available centralized VCS implementation |
US10521222B2 (en) | 2017-01-17 | 2019-12-31 | Bank Of America Corporation | Hybrid system for remote application development |
US10671510B1 (en) * | 2016-06-24 | 2020-06-02 | Intuit, Inc. | Techniques for evaluating collected build metrics during a software build process |
CN112130867A (en) * | 2020-08-05 | 2020-12-25 | 中国电子科技集团公司第二十八研究所 | Research, development and test integrated system |
US11106459B2 (en) * | 2006-03-31 | 2021-08-31 | Ebay Inc. | Distributed parallel build system |
US20210342292A1 (en) * | 2019-07-19 | 2021-11-04 | JFrog Ltd. | Data archive release in context of data object |
US11226810B1 (en) * | 2020-12-29 | 2022-01-18 | Coupang Corp. | Method for providing information based on expected result value and computing device using the same |
Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809170A (en) * | 1987-04-22 | 1989-02-28 | Apollo Computer, Inc. | Computer device for aiding in the development of software system |
US5732210A (en) * | 1996-03-15 | 1998-03-24 | Hewlett-Packard Company | Use of dynamic translation to provide fast debug event checks |
US5764989A (en) * | 1996-02-29 | 1998-06-09 | Supercede, Inc. | Interactive software development system |
US5806078A (en) * | 1994-06-09 | 1998-09-08 | Softool Corporation | Version management system |
US5815720A (en) * | 1996-03-15 | 1998-09-29 | Institute For The Development Of Emerging Architectures, L.L.C. | Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system |
US5838978A (en) * | 1996-10-09 | 1998-11-17 | Hewlett-Packard Company | System and method of using annotations to optimize dynamically translated code in the presence of signals |
US5848274A (en) * | 1996-02-29 | 1998-12-08 | Supercede, Inc. | Incremental byte code compilation system |
US6052530A (en) * | 1996-10-09 | 2000-04-18 | Hewlett-Packard Co. | Dynamic translation system and method for optimally translating computer code |
US6223339B1 (en) * | 1998-09-08 | 2001-04-24 | Hewlett-Packard Company | System, method, and product for memory management in a dynamic translator |
US6298319B1 (en) * | 1996-10-28 | 2001-10-02 | Altera Corporation | Incremental compilation of electronic design for work group |
US6308318B2 (en) * | 1998-10-07 | 2001-10-23 | Hewlett-Packard Company | Method and apparatus for handling asynchronous exceptions in a dynamic translation system |
US6330691B1 (en) * | 1996-02-23 | 2001-12-11 | Institute For The Development Of Emerging Architectures Llc | Use of dynamic translation to provide breakpoints in non-writeable object code |
US6415436B1 (en) * | 1998-12-11 | 2002-07-02 | Hewlett-Packard Company | Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler |
US6615300B1 (en) * | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
US6728951B1 (en) * | 2000-04-14 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | System and method for performing automated incremental compilation of computer programs |
US7047465B1 (en) * | 2002-02-28 | 2006-05-16 | Xilinx, Inc. | Methods for using defective programmable logic devices by customizing designs based on recorded defects |
US7168064B2 (en) * | 2003-03-25 | 2007-01-23 | Electric Cloud, Inc. | System and method for supplementing program builds with file usage information |
US7194730B2 (en) * | 2000-06-03 | 2007-03-20 | International Business Machines Corporation | System and method for the configuration of software products |
US7237226B2 (en) * | 2003-05-09 | 2007-06-26 | Intentional Software Corporation | Method and system for storing pending changes to data |
-
2004
- 2004-01-22 US US10/762,598 patent/US7437712B1/en active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4809170A (en) * | 1987-04-22 | 1989-02-28 | Apollo Computer, Inc. | Computer device for aiding in the development of software system |
US5806078A (en) * | 1994-06-09 | 1998-09-08 | Softool Corporation | Version management system |
US6330691B1 (en) * | 1996-02-23 | 2001-12-11 | Institute For The Development Of Emerging Architectures Llc | Use of dynamic translation to provide breakpoints in non-writeable object code |
US5764989A (en) * | 1996-02-29 | 1998-06-09 | Supercede, Inc. | Interactive software development system |
US5848274A (en) * | 1996-02-29 | 1998-12-08 | Supercede, Inc. | Incremental byte code compilation system |
US5732210A (en) * | 1996-03-15 | 1998-03-24 | Hewlett-Packard Company | Use of dynamic translation to provide fast debug event checks |
US5815720A (en) * | 1996-03-15 | 1998-09-29 | Institute For The Development Of Emerging Architectures, L.L.C. | Use of dynamic translation to collect and exploit run-time information in an optimizing compilation system |
US5838978A (en) * | 1996-10-09 | 1998-11-17 | Hewlett-Packard Company | System and method of using annotations to optimize dynamically translated code in the presence of signals |
US6052530A (en) * | 1996-10-09 | 2000-04-18 | Hewlett-Packard Co. | Dynamic translation system and method for optimally translating computer code |
US6219832B1 (en) * | 1996-10-09 | 2001-04-17 | Hewlett-Packard Company | System and method of using annotations to optimize dynamically translated code in the presence of signals |
US6298319B1 (en) * | 1996-10-28 | 2001-10-02 | Altera Corporation | Incremental compilation of electronic design for work group |
US6223339B1 (en) * | 1998-09-08 | 2001-04-24 | Hewlett-Packard Company | System, method, and product for memory management in a dynamic translator |
US6308318B2 (en) * | 1998-10-07 | 2001-10-23 | Hewlett-Packard Company | Method and apparatus for handling asynchronous exceptions in a dynamic translation system |
US6415436B1 (en) * | 1998-12-11 | 2002-07-02 | Hewlett-Packard Company | Mechanism for cross validating emulated states between different emulation technologies in a dynamic compiler |
US6728951B1 (en) * | 2000-04-14 | 2004-04-27 | Hewlett-Packard Development Company, L.P. | System and method for performing automated incremental compilation of computer programs |
US7194730B2 (en) * | 2000-06-03 | 2007-03-20 | International Business Machines Corporation | System and method for the configuration of software products |
US6615300B1 (en) * | 2000-06-19 | 2003-09-02 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
US7111096B1 (en) * | 2000-06-19 | 2006-09-19 | Transmeta Corporation | Fast look-up of indirect branch destination in a dynamic translation system |
US7047465B1 (en) * | 2002-02-28 | 2006-05-16 | Xilinx, Inc. | Methods for using defective programmable logic devices by customizing designs based on recorded defects |
US7168064B2 (en) * | 2003-03-25 | 2007-01-23 | Electric Cloud, Inc. | System and method for supplementing program builds with file usage information |
US7237226B2 (en) * | 2003-05-09 | 2007-06-26 | Intentional Software Corporation | Method and system for storing pending changes to data |
Non-Patent Citations (8)
Title |
---|
"A Compacting Incremental Collector and It's Performance in a Production Quality Compiler", Martin Larose et al, ACM, 1998, pp. 1-9. * |
A Framework for Incremental Extensible Compiler Construction, Steven Carroll et al, ACM, 2003, pp. 53-62. * |
An Incremental Compiler, M.K. Crowe, pp. 13-22, Jun. 1982. * |
Mastering XMI, Java Programming XMI, XML, and UML, Timothy Grose et al, pp. 314-315, date unknown. * |
Mastering XMI, Java Programming XMI, XML, and UML, Timothy Grose et al, pp. 314-315. * |
On Converting a Compiler into an Incremental Compileer, Malcolm Crowe, et al, Oct. 1985, pp. 14-22. * |
The Jalapeno Dynamic Optimizing Compiler for Jaa, Michael G. Burket al, 1999, pp. 129-141. * |
Web Management with Micrsoft Visual SourceSafe 5.0, Steven Banick et al, 2002, Whole book. * |
Cited By (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090083698A1 (en) * | 2004-09-30 | 2009-03-26 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US8365145B2 (en) * | 2004-09-30 | 2013-01-29 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US9250897B2 (en) | 2004-09-30 | 2016-02-02 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
US9209996B2 (en) * | 2005-03-31 | 2015-12-08 | Tripwire, Inc. | Data processing environment change management methods and apparatuses |
US20120179805A1 (en) * | 2005-03-31 | 2012-07-12 | Tripwire, Inc. | Data processing environment change management methods and apparatuses |
US20070174814A1 (en) * | 2006-01-11 | 2007-07-26 | Bea Systems, Inc. | System and method for build script generation in a software development environment |
US8051405B2 (en) * | 2006-01-11 | 2011-11-01 | Oracle International Corporation | System and method for build script generation in a software development environment |
US20110035742A1 (en) * | 2006-02-03 | 2011-02-10 | Research In Motion Limited | System and method for extending a component-based application platform with custom services |
US8321852B2 (en) * | 2006-02-03 | 2012-11-27 | Research In Motion Limited | System and method for extending a component-based application platform with custom services |
US7873944B2 (en) * | 2006-02-22 | 2011-01-18 | International Business Machines Corporation | System and method for maintaining and testing a software application |
US20070240116A1 (en) * | 2006-02-22 | 2007-10-11 | International Business Machines Corporation | System and method for maintaining and testing a software application |
US11106459B2 (en) * | 2006-03-31 | 2021-08-31 | Ebay Inc. | Distributed parallel build system |
US20080059946A1 (en) * | 2006-08-31 | 2008-03-06 | Jeremy Harding | Method and system for determining dependencies in a mainframe development environment |
US8924931B2 (en) * | 2006-08-31 | 2014-12-30 | Serena Software, Inc. | Method and system for determining dependencies in a mainframe development environment |
US7861213B2 (en) * | 2006-09-05 | 2010-12-28 | Oracle International Corporation | Mechanism for developing AJax applications using java swing framework and method for using the same |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
US20080196004A1 (en) * | 2007-02-14 | 2008-08-14 | Samsung Electronics Co., Ltd. | Apparatus and method for developing component-based software |
US20150317288A1 (en) * | 2007-07-18 | 2015-11-05 | Ebay Inc. | Method and system to maintain a web page |
US20170147298A1 (en) * | 2008-02-20 | 2017-05-25 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US9600246B2 (en) | 2008-02-20 | 2017-03-21 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US9218166B2 (en) * | 2008-02-20 | 2015-12-22 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US11789706B2 (en) * | 2008-02-20 | 2023-10-17 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US10768909B2 (en) * | 2008-02-20 | 2020-09-08 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US20090210855A1 (en) * | 2008-02-20 | 2009-08-20 | Embarcadero Technologies Inc. | Development System with Improved Methodology for Creation and Reuse of Software Assets |
US20210109721A1 (en) * | 2008-02-20 | 2021-04-15 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US9524145B2 (en) * | 2008-03-28 | 2016-12-20 | International Business Machines Corporation | Rebuildable service-oriented applications |
US20090249288A1 (en) * | 2008-03-28 | 2009-10-01 | International Business Machines Corporation | Rebuildable service-oriented applications |
US10228935B2 (en) | 2008-03-28 | 2019-03-12 | International Business Machines Corporation | Rebuildable service-oriented applications |
US7552421B1 (en) * | 2008-04-07 | 2009-06-23 | International Business Machines Corporation | Method for adding comments to deleted code |
US20100088270A1 (en) * | 2008-10-03 | 2010-04-08 | Carsten Ziegler | Data versioning concept including time dependency and active and inactive states |
US20110023007A1 (en) * | 2009-07-23 | 2011-01-27 | Ibm Corporation | Associating Workflows With Code Sections In A Document Control System |
US9146735B2 (en) * | 2009-07-23 | 2015-09-29 | International Business Machines Corporation | Associating workflows with code sections in a document control system |
US8327330B1 (en) * | 2010-01-11 | 2012-12-04 | Google Inc. | System and method of generating build instructions |
US9235411B2 (en) | 2010-02-05 | 2016-01-12 | International Business Machines Corporation | Automated application generation |
US20110197175A1 (en) * | 2010-02-05 | 2011-08-11 | International Business Machines Corporation | Automated application generation method and system |
US8555245B2 (en) | 2010-02-05 | 2013-10-08 | International Business Machines Corporation | Automated application generation method and system |
US20120005667A1 (en) * | 2010-06-30 | 2012-01-05 | International Business Machines Corporation | Integrated exchange of development tool console data |
US8627308B2 (en) * | 2010-06-30 | 2014-01-07 | International Business Machines Corporation | Integrated exchange of development tool console data |
US9021392B2 (en) * | 2010-07-26 | 2015-04-28 | Sap Se | Managing extension projects with repository based tagging |
US20120023445A1 (en) * | 2010-07-26 | 2012-01-26 | Baeuerle Stefan A | Managing extension projects with repository based tagging |
US8677315B1 (en) * | 2011-09-26 | 2014-03-18 | Amazon Technologies, Inc. | Continuous deployment system for software development |
US20140189641A1 (en) * | 2011-09-26 | 2014-07-03 | Amazon Technologies, Inc. | Continuous deployment system for software development |
US9454351B2 (en) * | 2011-09-26 | 2016-09-27 | Amazon Technologies, Inc. | Continuous deployment system for software development |
US20150254073A1 (en) * | 2012-08-01 | 2015-09-10 | Sherpa Technologies Inc. | System and Method for Managing Versions of Program Assets |
US9110756B1 (en) * | 2012-11-14 | 2015-08-18 | Amazon Technologies, Inc. | Tag-based deployment to overlapping host sets |
US9489188B1 (en) | 2012-11-14 | 2016-11-08 | Amazon Technologies, Inc. | Tag-based deployment |
US9740854B2 (en) * | 2013-10-25 | 2017-08-22 | Red Hat, Inc. | System and method for code protection |
US20150121553A1 (en) * | 2013-10-25 | 2015-04-30 | Red Hat, Inc. | System and method for code protection |
US9280331B2 (en) * | 2014-05-09 | 2016-03-08 | Sap Se | Hash-based change tracking for software make tools |
US10002135B2 (en) * | 2014-11-07 | 2018-06-19 | International Business Machines Corporation | Simplifying the check-in of checked-out files in an ECM system |
US9747292B2 (en) * | 2014-11-07 | 2017-08-29 | International Business Machines Corporation | Simplifying the check-in of checked-out files in an ECM system |
US20160132525A1 (en) * | 2014-11-07 | 2016-05-12 | International Business Machines Corporation | Method to simplify the check-in of checked-out files in an ecm system |
US20160132517A1 (en) * | 2014-11-07 | 2016-05-12 | International Business Machines Corporation | Method to simplify the check-in of checked-out files in an ecm system |
US9893972B1 (en) | 2014-12-15 | 2018-02-13 | Amazon Technologies, Inc. | Managing I/O requests |
US9703553B2 (en) * | 2014-12-18 | 2017-07-11 | International Business Machines Corporation | Assertions based on recently changed code |
US9703552B2 (en) * | 2014-12-18 | 2017-07-11 | International Business Machines Corporation | Assertions based on recently changed code |
US20160179508A1 (en) * | 2014-12-18 | 2016-06-23 | International Business Machines Corporation | Assertions based on recently changed code |
US20160179507A1 (en) * | 2014-12-18 | 2016-06-23 | International Business Machines Corporation | Assertions based on recently changed code |
US9928059B1 (en) | 2014-12-19 | 2018-03-27 | Amazon Technologies, Inc. | Automated deployment of a multi-version application in a network-based computing environment |
US10334462B2 (en) | 2016-06-23 | 2019-06-25 | Bank Of America Corporation | Predictive analytics for resource development based on information communicated from inter-related communication devices |
US11169902B2 (en) | 2016-06-24 | 2021-11-09 | Intuit, Inc. | Techniques for evaluating collected build metrics during a software build process |
US10671510B1 (en) * | 2016-06-24 | 2020-06-02 | Intuit, Inc. | Techniques for evaluating collected build metrics during a software build process |
US10439913B2 (en) | 2016-07-01 | 2019-10-08 | Bank Of America Corporation | Dynamic replacement and upgrade of existing resources based on resource utilization |
US10467198B2 (en) * | 2016-09-15 | 2019-11-05 | Oracle International Corporation | Network partition tolerance in a high available centralized VCS implementation |
US11334530B2 (en) * | 2016-09-15 | 2022-05-17 | Oracle International Corporation | Network partition tolerance in a high available centralized VCS implementation |
US10521222B2 (en) | 2017-01-17 | 2019-12-31 | Bank Of America Corporation | Hybrid system for remote application development |
US20210342292A1 (en) * | 2019-07-19 | 2021-11-04 | JFrog Ltd. | Data archive release in context of data object |
US11620257B2 (en) * | 2019-07-19 | 2023-04-04 | JFrog Ltd. | Data archive release in context of data object |
US12079160B2 (en) | 2019-07-19 | 2024-09-03 | JFrog Ltd. | Data archive release in context of data object |
CN112130867A (en) * | 2020-08-05 | 2020-12-25 | 中国电子科技集团公司第二十八研究所 | Research, development and test integrated system |
CN112130867B (en) * | 2020-08-05 | 2022-10-04 | 中国电子科技集团公司第二十八研究所 | Research, development and test integrated system |
US11226810B1 (en) * | 2020-12-29 | 2022-01-18 | Coupang Corp. | Method for providing information based on expected result value and computing device using the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7437712B1 (en) | Software build tool with revised code version based on description of revisions and authorizing build based on change report that has been approved | |
US7194730B2 (en) | System and method for the configuration of software products | |
Wang et al. | Formal verification of workflow policies for smart contracts in azure blockchain | |
US7370318B1 (en) | System and methodology for asynchronous code refactoring with symbol injection | |
JP5710852B2 (en) | A framework for seamless authoring and editing of workflows at design and runtime | |
JP5204070B2 (en) | Method for generating a tool for merging customizations made to a first version of a software product when migrating to a second version of the software product, a computer usable medium and a data processing system | |
Altmanninger et al. | A survey on model versioning approaches | |
Nentwich et al. | Flexible consistency checking | |
JP4806240B2 (en) | Componentized and extensible workflow model | |
US7296188B2 (en) | Formal test case definitions | |
Emmerich | Distributed component technologies and their software engineering implications | |
Vermeulen | The elements of Java (tm) style | |
US10114861B2 (en) | Expandable ad hoc domain specific query for system management | |
US7900199B2 (en) | Method and apparatus for reusing a computer software library | |
US20060074734A1 (en) | Declarative representation for an extensible workflow model | |
US20050065953A1 (en) | System and method for changing defined elements in a previously compiled program using a description file | |
Collard et al. | A lightweight transformational approach to support large scale adaptive changes | |
Langhammer | Automated Coevolution of Source Code and Software Architecture Models | |
Steimann | Constraint-based refactoring | |
Kim et al. | Writing, supporting, and evaluating tripwire: A publically available security tool | |
Eichberg et al. | Using annotations to check structural properties of classes | |
Bettini et al. | An executable metamodel refactoring catalog | |
Fan et al. | Supporting semantic conflict prevention in real-time collaborative programming environments | |
Agostinho et al. | Contracts for aspect-oriented design | |
Sanchez Pina | Conservative and traceable executions of heterogeneous model management workflows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SPRINT COMMUNICATIONS COMPANY, L.P., KANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BROWN, BOBBY B.;HUDSON, SHAWN M.;WRIGHT, JOHN J.;REEL/FRAME:014930/0909 Effective date: 20040120 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, NEW YORK Free format text: GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:SPRINT COMMUNICATIONS COMPANY L.P.;REEL/FRAME:041895/0210 Effective date: 20170203 |
|
AS | Assignment |
Owner name: SPRINT COMMUNICATIONS COMPANY L.P., KANSAS Free format text: TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:052969/0475 Effective date: 20200401 Owner name: DEUTSCHE BANK TRUST COMPANY AMERICAS, NEW YORK Free format text: SECURITY AGREEMENT;ASSIGNORS:T-MOBILE USA, INC.;ISBV LLC;T-MOBILE CENTRAL LLC;AND OTHERS;REEL/FRAME:053182/0001 Effective date: 20200401 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |
|
AS | Assignment |
Owner name: T-MOBILE INNOVATIONS LLC, KANSAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPRINT COMMUNICATIONS COMPANY L.P.;REEL/FRAME:055604/0001 Effective date: 20210303 |
|
AS | Assignment |
Owner name: SPRINT SPECTRUM LLC, KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: SPRINT INTERNATIONAL INCORPORATED, KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: SPRINT COMMUNICATIONS COMPANY L.P., KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: SPRINTCOM LLC, KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: CLEARWIRE IP HOLDINGS LLC, KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: CLEARWIRE COMMUNICATIONS LLC, KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: BOOST WORLDWIDE, LLC, KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: ASSURANCE WIRELESS USA, L.P., KANSAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: T-MOBILE USA, INC., WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: T-MOBILE CENTRAL LLC, WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: PUSHSPRING, LLC, WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: LAYER3 TV, LLC, WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 Owner name: IBSV LLC, WASHINGTON Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:DEUTSCHE BANK TRUST COMPANY AMERICAS;REEL/FRAME:062595/0001 Effective date: 20220822 |