Host1 wants to join Multicast group as IGMPv3 include (G,S). The same group and source Host2 send as Exclude(G,S) report. what process done in switch?
Generally speaking, for IGMPv3 to work correctly in an IGMP snooping environment, all devices should support IGMPv3 (even if they are treating IGMPv3 joins as IGMPv2 joins). This includes the source/router, the host and all devices in between the two.
If the switches doing IGMP snooping do not support IGMPv3, this can potentially cause problems, but this will vary depending on the vendor and/or version of code.
Someone please correct the below if I am wrong, as I have not tested this setup, however I believe my understanding is sound. A bit concerned because I feel I confused myself in trying to type it up.
In your example, assuming the switch that is doing IGMP snooping supports IGMPv3, and that both G1,S1 (Host1's include) and G2,S2 (Host2's exclude) are the same, then it should forward all multicast for that group down to the hub (no matter the source). Since a hub then repeats all traffic on all ports, this results in both hosts receiving all traffic for the multicast group and requiring both hosts to ignore unwanted traffic.
If G1/G2 are the same and S1/S2 are different, then all multicast traffic for the group except traffic sourced from S2 should be forwarded to the hub. This would require Host1 to to ignore unwanted traffic.
If G1,S1 is different from G2,S2, then all traffic for multicast group G1 from source S1 and all traffic for multicast group G2 except from source S2 should be forwarded to the hub. This would again require both hosts to ignore unwanted traffic.
The reasoning behind this is that this IGMP snooping switch will have separate entries (that contain their respective group memberships along with their include or exclude filters) for both hosts on the interface going towards the hub.
In any case, the hosts should ignore the unwanted multicast, the same as if they were in an environment without IGMP snooping where all multicast is forwarded.