Answer:
The company promises to deliver upgrades for two years to a customer if they purchase software that costs $100. These upgrades need to be accounted for so they will be accounted for from the $100.
The $100 will therefore be split between the cost price of the software and the 2 year upgrades.
The part of the $100 that is the cost price will be recognized by the company as revenue immediately at the date of sale.
The upgrades however, will not. This is because you can only recognize revenue for services performed and these have not been performed yet. They will therefore be classified as Deferred revenue which is a liability account showing that the company owes people performance obligations.
As the years go by and the upgrades are given, the revenue will be recognized.