Optimizing Data Freshness In Information Update Systems