The implementations in GradebookManagerHibernateImpl for dealing with external assignments have no provision for sharing data across multiple simultaneous requests. This can be a critical problem when grades are released for a class and many students try to access them at the same time. Some data, such as the contents of gradebooks and summary statistics for a gradebook, can be shared across users. A service level blocking cache should be implemented to allow this sharing. The cache should be blocking so that requests for a particular cache entry are serialized. This prevents the duplicate work that multiple users might do trying to fill the cache entry when they find it empty. Serializing access to an existing cache entry will be far faster than getting results without a cache.