IP Library Granted Patent US 7,133,894
Granted Patent B2
US 7,133,894 · App. 10/095,652 · Granted Nov 7, 2006

Method, apparatus, and program for synchronous remote builds

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,133,894
App. No.
10/095,652
Granted
Nov 7, 2006
Kind
B2
Abstract

A client/server application is provided for performing synchronous builds on a server. The client, running on a development platform, communicates with the server and, together, they complete a build transaction. In a build transaction, the client transfers all the resources that are needed for the build to the server. The server completes the build and returns any resulting output resources to the client. The end user invokes the client for each build transaction and such calls may be embedded in a script facilitating automation of the overall build process.

Claims (81)

1. A method, in a client, for performing a software build remotely on a server comprising:

sending, from a make utility on the client, under control of a makefile script, a build request to a server, wherein the build request specifies a build script file, the build request further specifies a success condition and a success return code, and wherein the build script file is executable at the server to convert a set of input files to a set of output files to form a software build;

upon completion of the software build on the server, automatically receiving a build result from the server,

in response to a successful software build, requesting at last one output file from the server;

receiving the at least one output file from the server; and

assembling, by the make utility on the client, a software program using the at least one output file based on the makefile script.

2. The method of claim 1 , further comprising sending the build script file to the server in response to a request for the build script file being received from the server.

3. The method of claim 1 , wherein the build script file is stored at the server.

4. The method of claim 1 , wherein the build request specifies at least one input file or dependent file, the method further comprising sending the at least one input file or dependent file to the server in response to a request for the at least one input file or dependent file being received from the server.

5. The method of claim 1 , wherein the build result indicates whether the software build is successful based on the success condition and the success return code.

6. The method of claim 1 , wherein the build request specifies a user identification and a password, the method further comprising:

authenticating with the server using the user identification and the password.

7. A method, in a server, for performing a synchronous build, comprising:

receiving a build request from a client, wherein the build request specifies a build script file and wherein the build request specifies a success condition and a success return code;

performing the build according to the build script file;

upon completion of the build, generating a build result based on the success condition and the success return code;

if the build is successful, generating at least one output file;

automatically sending the build result to the client; and

in response to a request for the at least one output file being received from the client, sending the at least one output file to the client.

8. The method of claim 7 , wherein the step of receiving a build request from a client comprises:

listening to a communication port for a build request; and

receiving the build request through the communication port.

9. The method of claim 7 , wherein the build script file resides on the client, to method further comprising:

requesting the build script file from the client; and

receiving the build script file from the client.

10. The method of claim 7 , wherein the build script file resides on the server.

11. The method of claim 7 , wherein the build request specifies at least one input file or dependent file, the method further comprising:

requesting the at least one input file or dependent file from the client; and

receiving the at least one input file or dependent file from the client.

12. The method of claim 7 , wherein the build request specifies at least one build parameter and wherein the step of performing the build comprises passing the at least one build parameter to the build script.

13. The method of claim 7 , wherein the build request specifies a user identification and a password, the method further comprising:

authenticating the client using the user identification and the password.

14. The method of claim 7 , wherein the step of performing the build comprises invoking a build program in accordance with the build script.

15. The method of claim 14 , wherein the build program comprises a compiler.

16. An apparatus, in a client, for performing a software build remotely on a server, comprising:

means for sending, from a make utility on the client under control of a makefile script, a build request to a server, wherein the build request specifies a build script file, the build request further specifies a success condition and a success return code and wherein the build script file is executable on the server to convert a set of input files to a set of output files to form a software build;

means for automatically receiving a build result from the server upon completion of the software build at the server;

means for requesting at least one output file from the server in response to a successful software build;

means for receiving the at least one file from the server; and

means for assembling, by the make utility on the client, a software program using the at least one output file based on die makefile script.

17. The apparatus of claim 16 , farther comprising means for sending the build script file to the server in response to a request for the build script file being received from the server.

18. The apparatus of claim 16 , wherein the build script file is stored at the server.

19. The apparatus of claim 16 , wherein the build request specifics at least one input file or dependent file, the apparatus further comprising means for sending the at least one input file or dependent file to the server in response to a request for the at least one input file or dependent file being received from the server.

20. The method of claim 16 , wherein the build result indicates whether the software build is successful based on the success condition and the success return code.

21. The apparatus of claim 16 , wherein the build request specifies a user identification and a password, the apparatus further comprising:

means for authenticating with the server using the user identification and the password.

22. An apparatus, in a server, for performing a synchronous build, comprising:

means for receiving a build request from a client, wherein the build request specifies a build script file and wherein the build request specifies a success condition and a success return code;

build means for performing the build according to the build script file;

means for generating a build result based on the success condition and the success return code upon completion of the build;

means for generating at least one output file if the build is successful;

means for automatically sending the build result to the client; and

means for sending the at least one output file to the client in response to a request for the at least one output file being received, from the client.

23. The apparatus of claim 22 , wherein the first receipt means comprises:

means for listening to a communication port for a build request; and

means for receiving to build request through the communication port.

24. The apparatus of claim 22 , wherein the build script file resides on the client the apparatus further comprising:

means for requesting the build script file from the client; and

means for receiving the build script file from the client.

25. The apparatus of claim 22 , wherein the build script file resides on the server.

26. The apparatus of claim 22 , wherein the build request specifies at least one input file or dependent file, the apparatus further comprising:

means for requesting to at least one input file or dependent file from the client; and

means for receiving the at least one input file or dependent file from the client.

27. The apparatus of claim 22 , wherein the build request specifies at least one build parameter and wherein the build means comprises means for passing to at least one build parameter to the build script.

28. The apparatus of claim 22 , wherein the Wild request specifies a user identification and a password, the apparatus further comprising:

means for authenticating the client using the user identification and the password.

29. The apparatus of claim 22 , wherein the build means comprises means for invoking a build program in accordance with the build script.

30. The apparatus of claim 29 , wherein the build program comprises a compiler.

31. A computer program product, in a computer readable medium, for performing a software build remotely on a server from a client comprising:

instructions for sending, from a make utility on the client, under control of a makefile script, a build request to a server, wherein the build request specifies a build script file and wherein the build script file is executable at the server to convert a set of input files to a set of output files to form a software build;

instructions for automatically receiving a build result from the server upon completion of the software build an the server;

instructions for requesting at least one output file from the server in response to a successful software build;

instructions for receiving at least one output file from the server; and

instructions for assembling, by the make utility on the client a program using the at least one output file based on the makefile script.

32. A computer program product, in a computer readable medium, for performing a synchronous build in a server, comprising:

instructions for receiving a build request from a client, wherein the build request specifies a build script file and wherein the build request specifies a success condition and a success return code;

instructions for performing the build according to the build script file;

instructions for generating a build result based on the success condition and the success return code upon completion of the build;

instructions for generating at least one output file if the build is successful;

instructions for automatically sending build result to the client and

instructions for sending the at least one output file to the client in response to a request for the at least one output file being received from the client.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: WRP IP MANAGEMENT, LLC
Reel/Frame 049033/0410 →