protected void receiveReplicaLocation(Sim_event ev) {
        if (ev == null) {
            return;
        }

        Object[] data = (Object[]) ev.get_data();
        if (data == null) {
            return;
        }

        String filename = (String) data[0]; // get file name
        Integer resID = (Integer) data[1]; // get resource ID

        // make a request to transfer the given filename
        Object[] packet = new Object[3];
        packet[0] = filename; // request for this file name
        packet[1] = super.resIdObj_; // from this resource

        // it is an urgent request
        if (isPriorityFile(filename)) {
            priorityFile_.remove(filename);
            packet[2] = new Integer(1); // high priority over the network
        } else {
            packet[2] = new Integer(0); // normal priority over the network
        }

        super.sim_schedule(outputPort_, 0, DataGridTags.FILE_REQUEST,
                new IO_data(packet, DataGridTags.PKT_SIZE, resID.intValue()));
    }