УПРАВЛЕНИЕ КЭШЕМ ДОСТУПНЫХ ПО РАЗРЕШЕНИЮ ДАННЫХ

1. Компьютерный сервер, включающий:
память и
процессор, сконфигурированный для управления работой компьютерного сервера и для обеспечения выполнения компьютерным сервером
получения доступных по разрешению данных с сервера данных, при этом доступные по разрешению данные имеют ассоциированные разрешения данных, соответствующие по меньшей мере одному пользователю, авторизованному для осуществления доступа к компьютерному серверу;
кэширования доступных по разрешению данных, которое включает сохранение доступных по разрешению данных и связанных идентификаторов, соответствующих ассоциированным разрешениям данных для доступных по разрешению данных;
получения от первого пользователя компьютерного сервера первого запроса данных для по меньшей мере части доступных по разрешению данных;
извлечения разрешений пользователя, соответствующих первому пользователю компьютерного сервера, и
определения, пересекаются ли разрешения первого пользователя с ассоциированными разрешениями данных для кэшированных доступных по разрешению данных, при этом упомянутое определение основано на разрешениях первого пользователя и связанном идентификаторе, соответствующем ассоциированным разрешениям данных для доступных по разрешению данных,
причем, если разрешения первого пользователя пересекаются с ассоциированными разрешениями данных для доступных по разрешению данных, компьютерный сервер также сконфигурирован для передачи первому пользователю по меньшей мере поднабора кэшированных доступных по разрешению данных.
2. Устройство по п.1, в котором компьютерный сервер также сконфигурирован для определения, перед передачей кэшированных доступных по разрешению данных первому пользователю, истек ли срок действительности кэшированных доступных по разрешению данных.
3. Устройство по п.1, в котором компьютерный сервер также сконфигурирован для
получения второго запроса данных от второго пользователя компьютерного сервера, при этом второй запрос данных запрашивает те же доступные по разрешению данные, что и первый запрос данных, полученный от первого пользователя;
извлечения разрешений пользователя, соответствующих второму пользователю компьютерного сервера, при этом разрешения второго пользователя в отношении запрошенных доступных по разрешению данных отличаются от разрешений первого пользователя, и
передачи другого поднабора кэшированных доступных по разрешению данных второму пользователю в ответ на запрос второго пользователя.
4. Устройство по п.1, в котором компьютерный сервер также сконфигурирован для подписки на сервер публикации для получения обновлений кэшированных доступных по разрешению данных, когда кэшированные доступные по разрешению данные изменяются.
5. Устройство по п.4, в котором компьютерный сервер сконфигурирован для получения обновленных данных с сервера публикации перед истечением срока действительности кэшированных данных.
6. Устройство по п.1, в котором компьютерный сервер также сконфигурирован для
получения второго запроса данных от первого пользователя компьютерного сервера, при этом второй запрос данных запрашивает те же доступные по разрешению данные, что и первый запрос данных;
определения того, что разрешения первого пользователя изменились после получения первого запроса данных, и
передачи другого поднабора кэшированных доступных по разрешению данных первому пользователю.
7. Способ, включающий:
получение доступных по разрешению данных с сервера данных, при этом доступные по разрешению данные имеют ассоциированные разрешения данных, соответствующие по меньшей мере одному пользователю, авторизованному для осуществления доступа к компьютерному серверу;
кэширование доступных по разрешению данных, которое включает сохранение доступных по разрешению данных и связанного идентификатора, соответствующего ассоциированным разрешениям данных для доступных по разрешению данных;
получение первого запроса от первого пользователя для по меньшей мере части доступных по разрешению данных;
определение, пересекаются ли разрешения первого пользователя с ассоциированными разрешениями данных для кэшированных доступных по разрешению данных, при этом упомянутое определение основано на разрешениях первого пользователя и связанном идентификаторе, соответствующем ассоциированным разрешениям данных для доступных по разрешению данных, и
если разрешения первого пользователя пересекаются с ассоциированными разрешениями данных для доступных по разрешению данных, передачу первому пользователю по меньшей мере поднабора кэшированных доступных по разрешению данных.
8. Способ по п.7, также включающий
определение перед передачей кэшированных доступных по разрешению данных первому пользователю, истек ли срок действительности кэшированных доступных по разрешению данных.
9. Способ по п.7, в котором кэширование доступных по разрешению данных включает сохранение доступных по разрешению данных с сигнатурой кэша, соответствующей ассоциированным разрешениям данных для доступных по разрешению данных.
10. Способ по п.9, в котором сигнатура кэша включает информацию, соответствующую пользовательскому запросу.
11. Способ по п.7, также включающий:
подписку на сервер публикации для получения обновленных данных;
получение асинхронных обновлений данных для доступных по разрешению данных с сервера публикации и
замену кэшированных доступных по разрешению данных обновленными доступными по разрешению данными.
12. Способ по п.8, также включающий
формирование сигнатуры кэша посредством хэширования первого запроса.
13. Способ по п.7, в котором определение того, пересекаются ли разрешения пользователя с разрешениями данных, включает запрос и получение разрешений пользователя с сервера разрешений.
14. Способ, включающий:
прием первого запроса данных, соответствующего первому пользователю, имеющему разрешения первого пользователя в компьютерной системе;
определение, хранятся ли в локальном кэше данных данные первого ответа, соответствующие первому запросу данных и разрешениям первого пользователя;
передачу данных ответа первому пользователю, если данные первого ответа хранятся в локальном кэше данных;
прием второго запроса данных, соответствующего второму пользователю, имеющему разрешения второго пользователя в компьютерной системе, при этом второй запрос данных является таким же, как первый запрос данных, причем разрешения второго пользователя отличаются от разрешений первого пользователя;
определение, хранятся ли в локальном кэше данных данные второго ответа, соответствующие запросу второго пользователя и разрешениям второго пользователя; и
передачу данных второго ответа второму пользователю, если данные второго ответа хранятся в локальном кэше данных, при этом данные второго ответа отличаются от данных первого ответа.
15. Способ по п.14, также включающий,
если данные не кэшированы, запрос данных, соответствующих либо запросу первого пользователя, либо запросу второго пользователя с сервера данных, и кэширование данных, полученных с сервера данных.
16. Способ по п.14, также включающий
проверку истечения срока действительности кэшированных данных перед передачей поднабора кэшированных данных и передачу поднабора кэшированных данных первому или второму пользователю только в случае, если срок действительности кэшированных данных не истек.
17. Один и более машиночитаемый носитель данных, хранящий машиночитаемые инструкции, которые, при их выполнении, обеспечивают выполнение устройством:
приема первого запроса данных, соответствующего первому пользователю, имеющему разрешения первого пользователя в компьютерной системе;
определения, хранятся ли в локальном кэше данных данные первого ответа, соответствующие первому запросу данных и разрешениям первого пользователя;
передачи данных ответа первому пользователю, если данные первого ответа хранятся в локальном кэше данных;
приема второго запроса данных, соответствующего второму пользователю, имеющему разрешения второго пользователя в компьютерной системе, при этом второй запрос данных является таким же, как первый запрос данных, причем разрешения второго пользователя отличаются от разрешений первого пользователя;
определения, хранятся ли в локальном кэше данных данные второго ответа, соответствующие запросу второго пользователя и разрешениям второго пользователя; и
передачи данных второго ответа второму пользователю, если данные второго ответа хранятся в локальном кэше данных, при этом данные второго ответа отличаются отданных первого ответа.
18. Один и более машиночитаемый носитель данных по п.17, также хранящий машиночитаемые инструкции, которые, при их выполнении, обеспечивают выполнение устройством:
если данные не кэшированы, запроса данных, соответствующих либо запросу первого пользователя, либо запросу второго пользователя с сервера данных, и выполнение кэширования данных, полученных с сервера данных.
19. Один и более машиночитаемый носитель данных по п.17, также хранящий машиночитаемые инструкции, которые, при их выполнении, обеспечивают выполнение устройством:
проверки истечения срока действительности кэшированных данных перед передачей поднабора кэшированных данных и выполнение передачи поднабора кэшированных данных первому или второму пользователю только в случае, если срок действительности кэшированных данных не истек.
20. Один и более машиночитаемый носитель данных по п.17, также хранящий машиночитаемые инструкции, которые, при их выполнении, обеспечивают выполнение устройством:
приема третьего запроса данных, соответствующего первому пользователю, при этом третий запрос данных запрашивает те же данные, что и первый запрос данных;
определения, изменились ли разрешения первого пользователя после получения первого запроса данных, и
передачи первому пользователю данных ответа, отличных от данных ответа, переданных первому пользователю в ответ на первый запрос данных.
21. Способ по п.9, в котором кэширование доступных по разрешению данных включает хранение доступных по разрешению данных с указателем разрешений, соответствующим ассоциированным разрешениям данных для доступных по разрешению данных.
22. Способ по п.21, в котором указатель разрешений позволяет осуществлять группирование пользователей с аналогичными разрешениями доступа к одним и тем же кэшированным доступным по разрешению данным.
23. Способ по п.11, в котором оповещение об обновлениях кэша способно обновлять множество кэшей, упорядоченных по иерархии и хранимых на сервере кэша данных.