def split_usn(usn):
    """Split a USN into a UDN and a device or service type.
    
    USN is short for Unique Service Name, and UDN is short for Unique Device
    Name.  If the USN only contains a UDN, the type is empty.

    Return a list of exactly two items.

    """
    parts = usn.split('::')
    if len(parts) == 2:
        return parts
    else:
        return [parts[0], '']