Browse Prior Art Database

Job Migration between Terminals

IP.com Disclosure Number: IPCOM000171070D
Original Publication Date: 2008-May-28
Included in the Prior Art Database: 2008-May-28
Document File: 2 page(s) / 105K

Publishing Venue

IBM

Abstract

In Unix with job control, a whole session is killed by SIGHUP when terminal driver detects connection failure. But sometimes we want to keep job running even after a connection failure is detected. Screen, nohup, VNC and daemon are some existing solutions. Their drawback is that they should be applied before/when starting a job.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 2

Job Migration between Terminals

Figure 1 shows the work flow of job migration. It can be divided into three stages: preparation, body and finalization.

1. Preparation: In this stage,

job migration is kicked off and a communication channel is established between the source and the target shells, and then both

shells/sessions negotiate job migration. Authorization or security check is performed in the negotiation. After the handshake, the job is stopped so there is no further execution and interaction with the terminalin the job. The procedure to kickoff job migrationdepends on implementation. Here is an example by providing a build-in shell command.

Say mgrt is a new build-in shell command. Command line "mgrt -s <

job>

" is to send a migration request, and "mgrt -a

" to accept the

request. Say we want to migrate job1 from shell1/term1 to shell2/term2. First, issue "mgrt -s job1 shell2/term2" on term1. It opens and listens on a socket/named pipe/etc. and send a request to term2 by wall or something else like that. Then, accept the migration request by issuing "mgrt -a socket/named pipe" on term2. After that, a communication channelis established between the source and the target shells with the socket/named pipe/etc. At last, bothof them can start to negotiate migration and exchange information via the channel.

2. Body: In this stage, a request is sent to the kernel for job migration. The kernel detaches all theprocesses in the job fr...