Способ, сервер, компьютерная программа и компьютерный программный продукт для кэширования

Иллюстрации

Показать все

Изобретение относится к технологиям кэширования. Техническим результатом является повышение точности кэширования за счет учета взаимосвязей между пользователями. Способ кэширования содержит этап, на котором определяют в кэширующем сервере телекоммуникационной сети пользовательский профиль для анализа. Далее, согласно способу, получают в кэширующем сервере группу пользовательских профилей. А также получают корреляционные измерения, характеризующие взаимосвязи между пользователями, для каждого пользовательского профиля в группе пользовательских профилей по отношению к пользовательскому профилю для анализа. Кроме того, вычисляют приоритет кэширования контента для части контента из базы данных пользовательской истории контента группы пользовательских профилей, принимая во внимание корреляционное измерение. 3 н. и 16 з.п. ф-лы, 9 ил.

Реферат

Область техники, к которой относится изобретение

Изобретение относится в целом к кэшированию и, в частности, к улучшению точности кэширования.

Уровень техники

Кэширующая среда является хорошо известной технологией для улучшения времен доступа и оптимизации использования полосы пропускания в телекоммуникационных или корпоративных сетях. Кэш использует блок памяти, такой как дисковое пространство или другое устройство хранения, для временного хранения копии некоторых данных, которые, вероятно, будут необходимы в будущем.

Когда кэш-клиенты (т.е. объекты, которые нуждаются в данных, таких как компьютеры или мобильные терминалы) пытаются получить доступ к некоторым данным, сначала они проверяют кэш. Если необходимые данные доступны в кэше ("cache hit", кэш-попадание), тогда используется кэшированная копия. Если упомянутые данные не найдены в кэше ("cache miss", кэш-промах), тогда они загружаются из первоначального источника. В случае кэш-промаха копия данных временно сохраняется в кэше для последующего доступа.

Когда новые данные сохраняются в кэше, часто некоторые ранее кэшированные данные должны быть удалены для того, чтобы освободить емкость для хранения. Стратегии, которые определяют, какие из старых данных должны быть удалены, называются алгоритмами кэширования или алгоритмами замещения кэша.

Любые улучшения в кэшировании, которые увеличивают точность, приносят большую пользу. Это обеспечит больше попаданий и меньше промахов, что улучшает производительность и уменьшает перегрузку сети.

Сущность изобретения

Целью изобретения является, таким образом, улучшение кэширования.

В соответствии с первым аспектом изобретения, представлен способ для кэширования, содержащий этапы: определения, в кэширующем сервере телекоммуникационной сети, пользовательского профиля для анализа; получения, в кэширующем сервере, группы пользовательских профилей; получения корреляционных измерений для каждого пользовательского профиля в группе пользовательских профилей по отношению к пользовательскому профилю для анализа; и вычисления приоритета кэширования контента для по меньшей мере одной части контента из истории контента, ассоциированной с группой пользовательских профилей, принимая во внимание корреляционное измерение.

За счет учета корреляции между пользователями будет достигнута улучшенная точность кэширования. Это приведет к меньшему числу кэш-промахов и большему числу кэш-попаданий, что улучшит производительность кэширования с использованием упомянутого способа. Соответственно, кэширование улучшается.

Этап получения корреляционных измерений может содержать получение корреляционных измерений от центрального поставляющего корреляционные измерения сервера в телекоммуникационной сети. Использование центрального поставляющего корреляционные измерения сервера предоставляет возможность устойчивой целостности данных. Необязательно, корреляционные измерения могут распределяться регулярно или по требованию (т.е. проталкиваться или выталкиваться) из центрального поставляющего корреляционные измерения сервера вниз по сети.

Корреляционные измерения могут вычисляться при запросе на этапе получения корреляционных измерений. За счет вычисления корреляционного измерения только при запросе, т.е. по требованию, могут рассматриваться самые последние данные, что приводит к более точному корреляционному измерению. Это может быть сделано централизованно или в узле на более низком уровне сетевой иерархии, то есть узле, который находится ближе к клиентам.

Корреляционные измерения могут вычисляться с использованием статических корреляционных данных и/или динамических корреляционных данных. Это обеспечивает большую гибкость в использовании источников данных для получения корреляционного измерения.

Корреляционные измерения могут вычисляться с использованием корреляционных данных, предоставляемых третьей стороной через внешний интерфейс прикладного программирования. Третьи стороны могут иметь больше данных по взаимосвязям между пользователями в системе, что таким образом дает более точное корреляционное измерение и тем самым лучшее кэширование.

Этап получения группы пользовательских профилей может содержать получение группы всех пользовательских профилей, в настоящее время ассоциированных с кэширующим сервером. Другими словами, связи со всеми пользователями, ассоциированными с кэширующим сервером, обрабатываются так, чтобы не пропускать любую потенциальную связь между подвергнутым анализу пользователем и пользователями под контролем кэширующего сервера.

Этап получения группы пользовательских профилей может содержать получение группы пользовательских профилей, ассоциированных с пользовательским профилем для анализа. Другими словами, сначала определяется, какие пользователи имеют какую-либо взаимосвязь с пользователем для анализа, и только те пользователи проверяются на наличие корреляции. Это позволяет улучшать эффективность.

Способ может начинаться в ответ на то, что к части контента осуществляется доступ посредством пользовательского профиля для анализа. Это позволяет обновлять кэш на основе наиболее актуальных данных, к которым осуществляется доступ.

Способ может начинаться в ответ на то, что пользовательский профиль для анализа становится ассоциирован с кэширующим сервером. Например, это может происходить в сети мобильной связи, когда пользователь пользовательского профиля перемещается в область ответственности кэширующего сервера.

Этап вычисления приоритета кэширования контента из истории контента может быть подмножеством более крупной истории контента для группы пользовательских профилей. Это предоставляет возможность более эффективной обработки, поскольку вся история контента может быть довольно обширной.

Способ может дополнительно содержать этап: определения, выполнить ли предварительную выборку контента, связанного с приоритетом кэширования контента, на основе вычисленного приоритета кэширования контента. Это может создать очень эффективную стратегию кэширования, особенно когда кэширующий сервер размещается близко к клиенту, например, в базовой станции или даже в одном месте с клиентом.

Способ может дополнительно содержать этап: определения, сохранить или отбросить контент, связанный с приоритетом кэширования контента, на основе вычисленного приоритета кэширования. Это позволяет осуществлять управление кэшем с небольшой задержкой из-за эффективного обновления.

На этапе вычисления приоритета кэширования контента может использоваться фактор типа контента, причем фактор типа контента изменяется для различных типов контента. Это позволяет оператору системы конфигурировать относительную силу между различными типами контента. Например, веб-страницы (текст и/или изображения) могут конфигурироваться, чтобы быть более важными, чем видеоконтент.

На этапе вычисления приоритета кэширования контента может использоваться весовой коэффициент для пользовательского профиля для анализа, причем весовой коэффициент для пользовательского профиля для анализа указывает уровни обслуживания. Это предоставляет возможность дифференцирования в кэшировании для различных пользователей, например бронзовая, серебряная или золотая подписки. Лучшее кэширование может таким образом быть сконфигурировано, чтобы начинать действовать с преимуществом.

Вторым аспектом изобретения является кэширующий сервер для кэширования, содержащий: кэш-хранилище; определитель пользовательского профиля, выполненный, чтобы определять пользовательский профиль для анализа; получатель группы, выполненный, чтобы получать группу пользовательских профилей; получатель корреляционных измерений, выполненный, чтобы получать корреляционные измерения для каждого пользовательского профиля в группе пользовательских профилей по отношению к пользовательскому профилю для анализа; и вычислитель приоритета кэширования контента, выполненный для вычисления приоритета кэширования контента для по меньшей мере одной части контента из истории контента группы пользовательских профилей, принимая во внимание корреляционное измерение.

За счет учета корреляции между пользователями будет достигнута улучшенная точность кэширования. Это приведет к меньшему количеству кэш-промахов и большему количеству кэш-попаданий, что улучшает производительность кэширующего сервера. Соответственно, кэширование улучшается.

Получатель корреляционных измерений может быть выполнен, чтобы получать корреляционные измерения от центрального поставляющего корреляционные измерения сервера в телекоммуникационной сети. Использование центрального поставляющего корреляционные измерения сервера позволяет обеспечивать устойчивую целостность данных. Необязательно, корреляционные измерения могут распределяться регулярно или по требованию (т.е. проталкиваться или выталкиваться) из центрального поставляющего корреляционные измерения сервера вниз по сети.

Телекоммуникационная сеть может содержать сеть мобильной связи, и кэширующий сервер может быть связан с базовой станцией сети мобильной связи. Базовая станция является точкой в сети, которая является расположенной близко к клиентам и отвечает за связь с клиентами, например часть сети радиодоступа в сети мобильной связи.

Телекоммуникационная сеть может содержать беспроводную локальную сеть, и кэширующий сервер может быть связан с беспроводным устройством точки доступа беспроводной локальной сети.

Кэширующий сервер может содержаться в мобильном терминале. При совместном размещении кэширующего сервера с клиентом, в этом случае с мобильным терминалом, большая эффективность может быть достигнута, например, с использованием предварительной выборки.

Вычислитель приоритета кэширования контента может вычислять корреляционные измерения при запросе посредством получателя корреляционного измерения. За счет вычисления корреляционного измерения только при запросе, т.е. по требованию, могут рассматриваться самые последние данные, что приводит к более точному корреляционному измерению. Это может быть сделано централизованно или в узле на более низком уровне сетевой иерархии, то есть узле, который находится ближе к клиентам.

Вычислитель приоритета кэширования контента может вычислять корреляционные измерения с использованием статических корреляционных данных и/или динамических корреляционных данных. Это обеспечивает большую гибкость в использовании источников данных для получения корреляционного измерения.

Вычислитель приоритета кэширования контента может вычислять корреляционные измерения с использованием корреляционных данных, предоставляемых третьей стороной через внешний интерфейс прикладного программирования. Третьи стороны могут иметь больше данных по взаимосвязям между пользователями в системе, что таким образом дает более точное корреляционное измерение и тем самым лучшее кэширование.

Получатель группы может быть выполнен, чтобы получать группы всех пользовательских профилей, в настоящее время ассоциированных с кэширующим сервером. Другими словами, связи со всеми пользователями, ассоциированными с кэширующим сервером, обрабатываются так, чтобы не пропускать какую-либо потенциальную связь между подвергнутым анализу пользователем и пользователями под контролем кэширующего сервера.

Получатель группы может быть выполнен, чтобы получать группу пользовательских профилей, ассоциированных с пользовательским профилем для анализа. Другими словами, сначала определяется, какие пользователи имеют какую-либо взаимосвязь с пользователем для анализа, и только те пользователи проверяются для корреляции. Это позволяет улучшать эффективность.

Вычислитель приоритета кэширования контента может быть выполнен для вычисления приоритета кэширования контента в ответ на то, что к части контента осуществляется доступ посредством пользовательского профиля для анализа. Это позволяет обновлять кэш на основе наиболее актуальных данных, к которым осуществляется доступ.

Вычислитель приоритета кэширования контента может быть выполнен для вычисления приоритета кэширования контента в ответ на то, что пользовательский профиль для анализа становится ассоциированным с кэширующим сервером. Например, это может происходить в сети мобильной связи, когда пользователь пользовательского профиля перемещается в область ответственности кэширующего сервера.

Вычислитель приоритета кэширования контента может быть выполнен для вычисления приоритета кэширования контента на основании истории контента, являющейся подмножеством более крупной истории контента для группы пользовательских профилей. Это обеспечивает более эффективную обработку, поскольку вся история контента может быть довольно обширной.

Кэширующий сервер может дополнительно содержать определитель предварительной выборки, выполненный, чтобы определять, выполнить ли предварительную выборку контента, связанного с приоритетом кэширования контента, на основе вычисленного приоритета кэширования контента. Это может создать очень эффективную стратегию кэширования, особенно когда кэширующий сервер размещается близко к клиенту, например, в базовой станции или даже в одном месте с клиентом.

Кэширующий сервер может дополнительно содержать определитель сохранения контента, выполненный, чтобы определять, сохранить или отбросить контент, связанный с приоритетом кэширования контента, на основе вычисленного приоритета кэширования. Это позволяет осуществлять управление кэшем с небольшой задержкой из-за эффективного обновления.

Вычислитель приоритета кэширования контента может быть выполнен для вычисления приоритета кэширования контента на основе фактора типа контента, причем фактор типа контента изменяется для различных типов контента. Это позволяет оператору системы конфигурировать относительную силу между различными типами контента. Например, веб-страницы (текст и/или изображения) могут конфигурироваться, чтобы быть более важными, чем видеоконтент.

Вычислитель приоритета кэширования контента может быть выполнен для вычисления приоритета кэширования контента на основе весового коэффициента для пользовательского профиля для анализа, причем весовой коэффициент для пользовательского профиля для анализа указывает уровни обслуживания. Это обеспечивает дифференцирование в кэшировании для различных пользователей, например бронзовая, серебряная или золотая подписки. Лучшее кэширование может быть таким образом сконфигурировано, чтобы начинать действовать с преимуществом.

Третьим аспектом изобретения является кэширующая система для кэширования, содержащая множество кэширующих серверов в соответствии со вторым аспектом.

Множество кэширующих серверов могут размещаться по отношению к друг к другу в иерархии. Это позволяет кэширующим серверам выше в иерархии служить как второй (или более высокой) линией кэширования в случае, когда имеется промах внизу в иерархии. Другими словами, риск того, что придется переходить к первоисточнику контента, снижается.

Четвертым аспектом изобретения является компьютерная программа для кэширующего сервера, содержащая компьютерный программный код, который, при запуске на кэширующем сервере, предписывает кэширующему серверу выполнить этапы: определения пользовательского профиля для анализа; получения группы пользовательских профилей; получения корреляционных измерений для каждого пользовательского профиля в группе пользовательских профилей по отношению к пользовательскому профилю для анализа; и вычисления приоритета кэширования контента для по меньшей мере одной части контента из истории контента группы пользовательских профилей, принимая во внимание корреляционное измерение.

Этап получения корреляционных измерений может содержать получение корреляционных измерений от центрального поставляющего корреляционные измерения сервера в телекоммуникационной сети. Использование центрального поставляющего корреляционные измерения сервера позволяет обеспечивать устойчивую целостность данных. Необязательно, корреляционные измерения могут распределяться регулярно или по требованию (т.е. проталкиваться или выталкиваться) из центрального поставляющего корреляционные измерения сервера вниз по сети.

Корреляционные измерения могут вычисляться при запросе на этапе получения корреляционных измерений. За счет вычисления корреляционного измерения только при запросе, т.е. по требованию, могут рассматриваться самые последние данные, что приводит к более точному корреляционному измерению. Это может быть сделано централизованно или в нижестоящем узле в сети.

Корреляционные измерения могут вычисляться с использованием статических корреляционных данных и/или динамических корреляционных данных. Это обеспечивает большую гибкость в использовании источников данных для получения корреляционного измерения.

Корреляционные измерения могут вычисляться с использованием корреляционных данных, предоставляемых третьей стороной через внешний интерфейс прикладного программирования. Третьи стороны могут иметь больше данных по взаимосвязям между пользователями в системе, что таким образом дает более точное корреляционное измерение и тем самым лучшее кэширование.

Этап получения группы пользовательских профилей может содержать получение группы всех пользовательских профилей, в настоящее время ассоциированных с кэширующим сервером. Другими словами, связи со всеми пользователями, ассоциированными с кэширующим сервером, обрабатываются, чтобы не пропускать каких-либо потенциальных связей между подвергнутым анализу пользователем и пользователями под контролем кэширующего сервера.

Этап получения группы пользовательских профилей может содержать получение группы пользовательских профилей, ассоциированных с пользовательским профилем для анализа. Другими словами, сначала определяется, какие пользователи имеют какую-либо взаимосвязь с пользователем для анализа, и только те пользователи проверяются на наличие корреляции. Это позволяет улучшать эффективность.

Компьютерная программа может запускаться в ответ на то, что к части контента осуществляется доступ посредством пользовательского профиля для анализа. Это позволяет обновлять кэш на основе наиболее актуальных данных, к которым осуществляется доступ.

Компьютерная программа может запускаться в ответ на то, что пользовательский профиль для анализа становится ассоциированным с кэширующим сервером. Например, это может происходить в сети мобильной связи, когда пользователь пользовательского профиля перемещается в область ответственности кэширующего сервера.

Этап вычисления приоритета кэширования контента из истории контента может быть подмножеством более крупной истории контента для группы пользовательских профилей. Это обеспечивает более эффективную обработку, поскольку вся история контента может быть довольно обширной.

Компьютерная программа может дополнительно содержать компьютерный программный код, чтобы выполнить этап: определения, выполнить ли предварительную выборку контента, связанного с приоритетом кэширования контента, на основе вычисленного приоритета кэширования контента. Это может создать очень эффективную стратегию кэширования, особенно когда кэширующий сервер размещается близко к клиенту, например в базовой станции или даже в одном месте с клиентом.

Компьютерная программа может дополнительно содержать компьютерный программный код, чтобы выполнить этап: определения, сохранить или отбросить контент, связанный с приоритетом кэширования контента, на основе вычисленного приоритета кэширования. Это позволяет осуществлять управление кэшем с небольшой задержкой из-за эффективного обновления.

Пятым аспектом изобретения является компьютерный программный продукт, содержащий компьютерную программу в соответствии с четвертым аспектом и компьютерно-читаемое средство, на котором компьютерная программа хранится.

Следует отметить, что любой признак первого, второго, третьего, четвертого и пятого аспектов может, в случае необходимости, быть применен к любым другим аспектам из этих аспектов. Все аспекты могут обеспечивать те же или подобные эффекты и/или преимущества, как первый аспект.

Как правило, все термины, используемые в формуле изобретения, должны быть интерпретированы в соответствии с их обычным значением в технической области, если явно не определено иначе в данном документе. Все ссылки на "элемент, устройство, компонент, средство, этап и т.д." должны быть интерпретированы открыто как ссылающиеся на по меньшей мере один экземпляр элемента, устройства, компонента, средства, этапа и т.д., если явно не определено иначе. Этапы любого способа, раскрываемого здесь, не обязательно должны выполняться именно в раскрываемом порядке, если это явно не указано.

Краткое описание чертежей

Изобретение теперь описывается, в качестве примера, со ссылкой на прилагаемые чертежи, на которых:

Фиг. 1a-c являются блок-схемами окружений, где варианты осуществления настоящего изобретения могут быть применены,

Фиг. 2 является блок-схемой компонентов любого из кэширующих серверов Фиг. 1a-c,

Фиг. 3 является блок-схемой модулей компьютерного программного продукта Фиг. 2,

Фиг. 4 является блок-схемой компонентов поставляющего корреляционные измерения сервера Фиг. 1,

Фиг. 5 является примером таблицы того, как приоритет кэширования может храниться,

Фиг. 6 является блок-схемой, изображающей способ в соответствии с одним вариантом осуществления, и

Фиг. 7 является блок-схемой, иллюстрирующей корреляцию между различными пользователями Фиг. 1.

Подробное описание

Изобретение будет теперь описано более подробно далее со ссылкой на прилагаемые чертежи, на которых конкретные варианты осуществления изобретения изображены. Это изобретение может, однако, осуществляться во многих различных формах и не должно рассматриваться как ограниченное вариантами осуществления, изложенными здесь; предпочтительнее, эти варианты осуществления предоставляются в качестве примера так, чтобы это раскрытие было всестороннее и полное, и полностью передавало объем изобретения специалистам в данной области техники. Подобные цифры относятся к подобным элементам по всему описанию.

Фиг. 1a является блок-схемой окружения, где варианты осуществления настоящего изобретения могут быть применены.

Кэширующая система содержит централизованно расположенный поставляющий корреляционные измерения сервер 10, который является сервером, обеспечивающим корреляционные измерения, которые используются кэширующими серверами 12a-z, 12'. Кэширующие серверы 12a-z, 12' размещаются в различных местах в пределах кэширующей системы 1. Например, в варианте осуществления, изображенном на Фиг. 1a, кэширующие серверы 12a-z подсоединены каждый к соответствующему сетевому узлу 11a-z кэширующей системы 1. Сетевые узлы 11a-z могут, например, быть базовыми приемопередающими станциями, узлом B (в соответствии с UMTS, универсальной системой мобильной связи), улучшенным узлом B (в соответствии с LTE, долговременной эволюцией). Альтернативно, сетевые узлы 11a-z могут быть беспроводными точками доступа, например, в соответствии с любым из стандартов IEEE 802.11.

Каждый сетевой узел 11a-z имеет набор 13a-z из одного или более ассоциированных клиентов. Таким образом, каждый из кэширующих серверов 12a-z является ответственным за кэширование набора 13a-z клиентов. Клиенты 13a-z могут быть любым подходящим клиентом, способным принимать цифровой контент, например мобильный терминал, такой как мобильный телефон, персональный цифровой помощник (PDA), нетбук или ноутбук.

Альтернативно или дополнительно, клиент может быть даже в виде стационарного настольного компьютера. Пользователи клиентов 13a-z имеют ассоциированный пользовательский профиль, который идентифицируется с использованием пользовательского идентификатора. Пользовательский профиль может, например, быть подсоединен к подписке, такой как подписка мобильного телефона. Пользовательский идентификатор может быть номером телефона, адресом электронной почты или любым другим подходящим пользовательским идентификатором, который является уникальным в пределах кэширующей системы. Всякий раз, когда термин «пользователь» упоминается в данном документе, это должно интерпретироваться как «пользователь, идентифицируемый посредством пользовательского идентификатора».

Одна или более третьи стороны 16 могут быть подсоединены к поставляющему корреляционные измерения серверу 10. Это позволяет, например, третьей стороне 16 предоставлять данные поставляющему корреляционные измерения серверу 10 об использовании истории пользователя, или соединениях между различными пользователями под ответственностью кэширующей системы 1.

Например, третьей стороной 16 может быть сервер веб-сайта социальной сети, такого как FaceBook, MySpace или Twitter, или службы мгновенного обмена сообщениями, такой как Windows Live Messenger, ICQ или Google talk. Такие веб-сайты могут обеспечивать не только информацию относительно двух пользователей, которые соединены, но могут также предоставлять измерение экстента, к которому они подсоединены, например, с использованием истории соединения между двумя пользователями. Альтернативно или дополнительно, третьей стороной 16 может быть сервер с доступом к некоторой из истории контента пользователя, такой как Google, или любой поставщик контента. Например, веб-сайт с видеоконтентом может иметь информацию, что 80 процентов пользователей, которые запрашивают контент A, также запрашивают контент B. Это может, например, служить индикатором того, что две части контента являются частями контента, которые были разделены. Другими словами, в ситуации, где контент A запрашивается, было бы полезно выполнить предварительную выборку контента B. Кроме того, онлайновые торговые платформы, такие как Amazon, Ebay и т.д. могут регистрировать предпочтения для различных типов контента для каждого пользователя, наряду с взаимосвязями между пользователями. Возможности глубокого инспектирования пакетов (DPI) позволили бы выводить некоторую из этой информации из незашифрованного трафика в пределах сети.

Необязательно, кэширующие серверы могут размещаться в иерархии. Например, центральный кэширующий сервер 12' может быть снабжен большим объемом памяти и таким образом сохранять больше контента, чем каждый из кэширующих серверов 12a-z, которые размещаются в нижней точке в иерархии. Это позволяет центральному кэширующему серверу 12' служить в качестве второго кэширующего сервера, если отсутствует локальный кэширующий сервер 12a-z. Необязательно, может быть больше кэширующих серверов, обеспечиваемых на одном или более промежуточных уровнях. Необязательно, клиенты 13a-z могут также вмещать кэширующий сервер.

Фиг. 1b является блок-схемой окружения, подобного окружению Фиг. 1a, но где дополнительные поставляющие корреляционные измерения серверы 10a-z совместно размещаются с каждым из сетевых узлов 11a-z и кэширующих серверов 12a-z, соответственно. При этом может обеспечиваться функциональность, которая синхронизирует поставляющие корреляционные измерения серверы 10, 10a-z по всей сети.

Фиг. 1c является блок-схемой окружения, подобного окружению Фиг. 1b, но где поставляющие корреляционные измерения серверы 10' совместно размещаются с клиентами 13a-z и кэширующими серверами 12a-z. Опять, синхронизация может происходить между поставляющими корреляционные измерения серверами 10a-z, 10, 10'.

Фиг. 2 является блок-схемой компонентов кэширующих серверов 12a-z, 12' Фиг. 1a-z. Все кэширующие серверы могут соответствовать описанию, предоставляемому ниже, в соответствии с чем на них вместе осуществляется ссылка посредством ссылочного числа 12, даже если конфигурация может изменяться между кэширующими серверами 12a-z, 12'.

Контроллер 20 обеспечивается с использованием любого подходящего центрального процессора (CPU), микроконтроллера, цифрового сигнального процессора (DSP) и т.д., способного исполнять инструкции программного обеспечения, хранящиеся в компьютерном программном продукте 22, например, в виде памяти. Компьютерный программный продукт 22 может быть любым сочетанием памяти для чтения и записи (RAM) и памяти только для чтения (ROM). Память 22 также содержит постоянное хранилище, которое, например, может быть каким-либо одним или сочетанием из магнитной памяти, оптической памяти или твердотельной памяти. Компьютерный программный продукт 22 может совместно размещаться с памятью для хранения кэшированного контента и таблиц, описывающих кэшированный контент, включая приоритет кэширования контента для каждого находящегося на хранении контента. Приоритет кэширования контента является относительным измерением, указывающим на то, как важно хранить часть контента. Например, более высокий приоритет кэширования контента может означать, что имеет место более высокая вероятность того, что к этому контенту будет осуществляться доступ. В одном примере, приоритет кэширования контента является вычисленной вероятностью того, что к этому контенту будет осуществляться доступ. Другими словами, приоритет кэширования контента позволяет обеспечивать сравнение между различными частями контента, чтобы определить, к какому контенту более вероятно будет осуществлен доступ снова.

Интерфейс 24 ввода-вывода обеспечивается, чтобы позволить кэширующему серверу взаимодействовать с другими компонентами, такими как поставляющим корреляционные измерения сервером 10 или клиентами 13a-z. Интерфейс 24 ввода-вывода может, например, быть сетевым интерфейсом, таким как интерфейс Ethernet. В том случае, когда кэширующий сервер совместно размещается с другим устройством, таким как сетевой узел или мобильный терминал, некоторые или все из контроллера 20, компьютерного программного продукта 22 и интерфейса 24 ввода-вывода могут совместно использоваться с другим устройством или устройствами.

Необязательно, пользовательский интерфейс обеспечивается (не показано) для использования оператором. Дополнительно или альтернативно, кэширующий сервер 12 может управляться дистанционно или локально с использованием интерфейса 24 ввода-вывода.

Кэширующий сервер 12 может быть интегрированным в одном блоке, или он может быть разделен на несколько отдельных блоков, например, по причинам модернизации, простоты осуществления или избыточности. В том случае, когда имеется несколько блоков, которые составляют кэширующий сервер 12, некоторые компоненты могут присутствовать в более чем одном блоке, таком как контроллер 20 и/или хранилище 22.

Кроме того, кэширующий сервер 12 может совместно размещаться с клиентом 13a-z, используя аппаратное обеспечение клиента, но используя модули программного обеспечения, как необходимые для осуществления кэширования.

Фиг. 3 является блок-схемой модулей компьютерного программного продукта 22 Фиг. 2.

Определитель 26 пользователя выполнен для определения пользовательского профиля для анализа. Пользовательский профиль связывается с клиентом под контролем кэширующего сервера. Например, пользовательский профиль может быть соединен с подпиской мобильного терминала, где мобильный терминал является клиентом, и подписка может храниться на универсальной карте на интегральной микросхеме (UICC), помещаемой в мобильный терминал.

Получатель 27 группы выполнен для получения группы пользовательских профилей, таких как пользовательские идентификаторы под ответственностью кэширующего сервера или пользовательские идентификаторы пользователей с подсоединениями к конкретному пользователю.

Получатель 28 корреляционных измерений выполнен для получения корреляционных измерений для каждого пользовательского профиля в группе по отношению к пользовательскому профилю для анализа.

Вычислитель 29 приоритета кэширования контента выполнен для вычисления приоритета кэширования контента для по меньшей мере одной части контента из истории контента группы пользовательских профилей, принимая во внимание корреляционное измерение.

Фиг. 4 является блок-схемой компонентов поставляющего корреляционные измерения сервера 10 Фиг. 1. Контроллер 17 обеспечивается с использованием любого подходящего центрального процессора (CPU), микроконтроллера, цифрового сигнального процессора (DSP) и т.д., способного исполнять инструкции программного обеспечения, хранящиеся в компьютерном программном продукте 16, например в виде памяти. Компьютерный программный продукт 16 может быть любым сочетанием памяти для чтения и записи (RAM) и памяти только для чтения (ROM). Компьютерный программный продукт 16 также содержит постоянное хранилище, которое, например, может быть каким-либо одним или сочетанием из магнитной памяти, оптической памяти или твердотельной памяти.

Интерфейс 15 ввода-вывода обеспечивается, чтобы позволить поставляющему корреляционные измерения серверу 10 взаимодействовать с другими компонентами, такими, как кэширующие серверы 12a-z, 12'. Интерфейс 24 ввода-вывода может, например, быть сетевым интерфейсом, таким как интерфейс Ethernet. В том случае, когда поставляющий корреляционные измерения сервер 10 совместно размещается с другим устройством, таким как кэширующий сервер, сетевой узел или мобильный терминал, некоторые или все из контроллера 17, компьютерного программного продукта 16 и интерфейса 15 ввода-вывода могут совместно использоваться с другим устройством или устройствами.

Необязательно, пользовательский интерфейс обеспечивается (не показано) для использования оператором. Альтернативно, поставляющий корреляционные измерения сервер 10 может управляться дистанционно или локально с использованием интерфейса ввода-вывода 15.

Поставляющий корреляционные измерения сервер 10 может быть интегрирован в одном блоке, или он может быть разделен на несколько отдельных блоков, например по причинам модернизации, простоты осуществления или избыточности. В том случае, когда имеется несколько блоков, которые составляют поставляющий корреляционные измерения сервер 10, некоторые компоненты могут присутствовать в более чем одном блоке, таком как контроллер 17 и/или компьютерный программный продукт 16.

Поставляющий корреляционные измерения сервер 10 создает и сохраняет информацию, ссылаясь на социальные взаимосвязи между пользователями. Такая информация может, например, быть получена непосредственно поставщиком телекоммуникационных услуг из частоты передачи между пользователями (например с использованием телефонных вызовов, обмена сообщениями или других средств общения), или сходство контента, к которому ранее осуществлялся доступ, и т.д. Как упомянуто выше, вклады социальных взаимосвязей могут быть представлены другими третьими сторонами 16. Кроме того, взаимосвязь между двумя пользователями может быть получена из нахождения в одном и том же месте или схожей истории местоположений.

Поставляющий корреляционные измерения сервер 10 имеет интерфейс, осуществляемый через интерфейс 15 ввода-вывода, который может позволить обеспечить сетевые функции, например сервер службы обмена короткими сообщениями (SMS), функцию управления мобильностью, функцию служб уведомления местоположения, кэш и так далее для обновления поставляющего корреляционные измерения сервера 10 по взаимосвязям между пользователями.

В дополнение, поставляющий корреляционные измерения сервер 10 сохраняет историю того, к каким данным ранее осуществлялся доступ посредством пользователя. На основе этой информации, поставляющий корреляционные измерения сервер 10 может прогнозировать вероятность того, что часть данных будет запрашиваться посредством пользователя более сложным способом, чем способ в известном уровне техники, и поддерживает алгоритмы кэширования и предварительной выборки в сетевых узлах и/или в мобильных терминалах.

Фиг. 5 является примером таблицы 34 того, как приоритет кэширования может хр