Product graphs: some algorithmic and combinatorial results (graph isomorphism)