Способ и компьютерное устройство для динамической индексации и загрузки кодов модулей

Иллюстрации

Показать все

Изобретение относится к средствам загрузки кодов модулей, требуемых для выполнения действия. Технический результат заключается в уменьшении времени загрузки и уменьшении трафика при загрузке модулей. Получают компьютерным устройством запрос на выполнение действия, которое можно выполнить с использованием кода первого модуля. Получают из первого предварительно определенного индекса: ссылку кода первого модуля, которая указывает положение кода первого модуля, и указывают, что выполнение кода первого модуля требует кода второго модуля. Получают из второго предварительно определенного индекса ссылку кода второго модуля. На основе ссылки кода первого модуля получают код первого модуля из положения кода первого модуля. На основе ссылки кода второго модуля получают код второго модуля из положения кода второго модуля. Выполняют действия с помощью запуска кода первого модуля и кода второго модуля. 2 н. и 28 з.п. ф-лы, 3 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящая технология относится к способу и системе динамической индексации и загрузки кодов модулей.

УРОВЕНЬ ТЕХНИКИ

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

[0003] Традиционно модули, от которых зависит функционирование компьютерной программы на компьютерном устройстве, могут быть загружены из удаленного носителя информации (например, носитель информации сервера) на локальный носитель информации, либо статично, либо динамично.

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

[0005] Динамическая загрузка, с другой стороны, относится к загрузке одного или нескольких модулей во время выполнения программы на основе явных программных инструкций компьютерной программы. Например, компьютерная игра, которая позволяет пользователю играть либо в покер, либо в пасьянс солитер, может номинально требовать оба модуля: и модуль покера, и модуль солитера для успешной обработки всех потенциальных пользовательских взаимодействий, даже когда пользователь может однозначно пожелать играть только в покер.

[0006] При статическом подходе и модуль покера, и модуль солитера будут загружены на локальный носитель информации компьютерного устройства при исходной загрузке компьютерной игры. Альтернативно, при динамическом подходе, компьютерная игра может быть запрограммирована изначально не загружать ни модуль покера, ни модуль солитера, а непосредственно загружать модуль покера при достижении программой состояния, когда пользователь выбрал игру в покер.

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

[0008] В патенте США US 8,626,919 В1 раскрыта система, которая выполняет приложение. Во время выполнения система получает список ресурсов, связанный с приложением и хранящий набор ресурсов, включающих в себя модуль исходного кода из списка ресурсов, посредством передачи данных по сетевому соединению, причем ресурсы хранятся в постоянном локальном хранилище. Приложение далее загружается в веб-браузере и загружает модуль исходного кода в безопасную среду исполнения. Далее, приложение выполняется независимо от сетевого соединения, используя модуль исходного кода и сохраненные ресурсы.

[0009] В патенте США US 8,676,978 В2 раскрыт способ, включающий в себя доступ к списку ресурсов, связанному со структурированным документом, загруженным клиентским приложением, выполняющемся на клиентском устройстве; идентификацию первого набора ресурсов, на которые есть ссылки в списке ресурсов, и которые хранятся на носителе информации клиентского устройства; извлечение первого набора ресурсов из носителя информации; загрузку первого набора ресурсов в модельное представление структурированного документа, созданного клиентским приложением отрисовки документа для отрисовки клиентским приложением отрисовки документа; идентификацию второго набора ресурсов, на которые есть ссылки в списке ресурсов, и которые не хранятся на носителе информации клиентского устройства; формулировка и передача одного или нескольких запросов на второй набор ресурсов; получение второго набора ресурсов в ответ на запросы; загрузка второго набора ресурсов в модельное представление для отрисовки клиентским приложением отрисовки документа.

[0010] В патенте США US 2014/0096110 A1 раскрыт способ, система и/или компьютерный программный продукт для управления набором модулей программного обеспечения в среде исполнения программного обеспечения, где набор модулей программного обеспечения имеет одну или несколько динамичных зависимостей и одну или несколько статических зависимостей. Идентифицируется каждый модуль программного обеспечения, имеющий статическую зависимость от другого модуля программного обеспечения в наборе модулей программного обеспечения. Идентифицируется каждая подгруппа набора модулей программного обеспечения, которая взаимозависима от другой подгруппы из-за статических зависимостей между подгруппами. В ответ на изменение состояния модуля в идентифицированной подгруппе, изменения в состоянии применяются ко всем модулям в идентифицированной подгруппе.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

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

[0012] Одним предметом настоящей технологии является компьютерный способ загрузки кодов модулей, причем коды модулей запрашиваются компьютерным устройством для выполнения действия; способ выполняется на компьютерном устройстве. Способ включает в себя: получение компьютерным устройством запроса на выполнение действия, которое можно выполнить с использованием кода первого модуля, ссылка кода первого модуля указывает положение кода первого модуля, записанное в первом предварительно определенном индексе; получение из первого предварительно определенного индекса: ссылки кода первого модуля, которая указывает на положение кода первого модуля, и указания того, что выполнение кода первого модуля требует кода второго модуля, и указания второго предварительно определенного индекса, включающего в себя ссылку кода второго модуля, которая указывает положение кода второго модуля, поддерживающего выполнение кода первого модуля; получение из второго предварительно определенного индекса ссылки кода второго модуля; на основе ссылки кода первого модуля получение кода первого модуля из положения кода первого модуля; на основе ссылки кода второго модуля получение кода второго модуля из положения кода второго модуля.

[0013] В некоторых вариантах осуществления способ дополнительно включает в себя выполнение действия с помощью запуска кода первого модуля и кода второго модуля.

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

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

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

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

[0018] В некоторых вариантах осуществления технологии перед получением по из меньшей мере части первого предварительно определенного индекса любой из: (i) ссылки на кода первого модуля или (ii) указания второго предварительно определенного индекса, способ также включает в себя осуществление проверки доступности по меньшей мере части первого предварительно определенного индекса, сохраненной локально, и в ответ на доступность по меньшей мере части первого предварительно определенного индекса, сохраненной локально, способ также включает в себя использование компьютерным устройством, одного из: (i) первого предварительно определенного индекса, сохраненного удаленно, или (ii) по меньшей мере части первого предварительно определенного индекса, сохраненной локально, как источника по меньшей мере одного пункта, выбранного из списка: ссылки кода первого модуля, указания второго предварительно определенного индекса; в ответ на недоступность по меньшей мере части первого предварительно определенного индекса, сохраненной локально, способ также включает в себя использование компьютерным устройством первого предварительно определенного индекса, сохраненного удаленно, как источника ссылки кода первого модуля и указания второго предварительно определенного индекса.

[0019] В некоторых вариантах осуществления технологии в ответ на доступность по меньшей мере части первого предварительно определенного индекса, сохраненной локально, использование одного из: (i) первого предварительно определенного индекса, сохраненного удаленно, или (ii) по меньшей мере части первого предварительно определенного индекса, сохраненной локально, осуществляется после выбора соответствующего одного пункта из: (i) первого предварительно определенного индекса, сохраненного удаленно, или (ii) по меньшей мере части первого предварительно определенного индекса, сохраненной локально, причем выбор осуществляется с помощью выполнения следующих этапов: определения параметра устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, сравнения параметра устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, с параметром предварительно определенного порогового значения устаревания, причем параметр предварительно определенного порогового значения устаревания указывает на то, является ли по меньшей мере часть соответствующего индекса, сохраненной локально, устаревшей, и в ответ на то, что параметр устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, превышает параметр предварительно определенного порогового значения устаревания, использование первого предварительно определенного индекса, сохраненного удаленно, как источника по меньшей мере одного пункта, выбранного из списка: ссылки кода первого модуля или указания второго предварительно определенного индекса; а в ответ на то, что параметр устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, не превышает параметр предварительно определенного порогового значения устаревания, использование по меньшей мере части первого предварительно определенного индекса, сохраненной локально, как источника по меньшей мере одного пункта, выбранного из списка: ссылки кода первого модуля или указания второго предварительно определенного индекса.

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

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

[0022] В некоторых вариантах осуществления технологии первый предварительно определенный индекс и второй предварительно определенный индекс реализованы как единственный третий предварительно определенный индекс, и получение из любого пункта, выбранного из списка: по меньшей мере части первого предварительно определенного индекса или по меньшей мере части второго предварительно определенного индекса является получением по меньшей мере из части третьего предварительно определенного индекса.

[0023] В некоторых вариантах осуществления технологии третий предварительно определенный индекс является любым пунктом, выбранным из: третьего предварительно определенного индекса, сохраненного удаленно, или по меньшей мере части третьего предварительно определенного индекса, сохраненной локально.

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

[0025] В некоторых вариантах осуществления технологии получение компьютерным устройством запроса на выполнение действия является получением запроса, инициированного кодом третьего модуля.

[0026] В некоторых вариантах осуществления технологии компьютерное устройство связано с пользователем, и получение компьютерным устройством запроса на выполнение действия является получением запроса от пользователя.

[0027] Другим объектом настоящей технологии является компьютерное устройство. Компьютерное устройство включает в себя носитель информации. Компьютерное устройство включает в себя процессор, соединенный с носителем информации. Процессор выполнен с возможностью получать доступ к машиночитаемым командам, выполнение которых обеспечивает осуществление процессором: получения компьютерным устройством запроса на выполнение действия, которое можно выполнить с использованием кода первого модуля, ссылка кода первого модуля указывает положение кода первого модуля, записанное в первом предварительно определенном индексе; получения из первого предварительно определенного индекса: ссылки кода первого модуля, которая указывает положение кода первого модуля, и указания того, что выполнение кода первого модуля требует кода второго модуля, и указания второго предварительно определенного индекса, включающего в себя ссылку кода второго модуля, которая указывает положение кода второго модуля, поддерживающего выполнение кода первого модуля; получения из второго предварительно определенного индекса ссылки кода второго модуля; на основе ссылки кода первого модуля получения кода первого модуля из положения кода первого модуля; на основе ссылки кода второго модуля получения кода второго модуля из положения кода второго модуля.

[0028] В некоторых вариантах осуществления процессор также выполнен с дополнительной возможностью выполнять действия с помощью запуска кода первого модуля и кода второго модуля.

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

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

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

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

[0033] В некоторых вариантах осуществления технологии процессор также выполнен с возможностью перед получением по меньшей мере из части первого предварительно определенного индекса любой из: (i) ссылки на кода первого модуля или (ii) указания второго предварительно определенного индекса, осуществлять проверку доступности по меньшей мере части первого предварительно определенного индекса, сохраненной локально, и в ответ на доступность по меньшей мере части первого предварительно определенного индекса, сохраненной локально, использовать один пункт из списка: (i) первый предварительно определенный индекс, сохраненный удаленно, или (ii) по меньшей мере часть первого предварительно определенного индекса, сохраненную локально, как источник по меньшей мере одного пункта, выбранного из списка: ссылки кода первого модуля, указания второго предварительно определенного индекса; в ответ на недоступность по меньшей мере части первого предварительно определенного индекса, сохраненной локально, использовать первый предварительно определенный индекс, сохраненный удаленно, как источник ссылки кода первого модуля и указания второго предварительно определенного индекса.

[0034] В некоторых вариантах осуществления технологии в ответ на доступность по меньшей мере части первого предварительно определенного индекса, сохраненной локально, использование одного из: (i) первого предварительно определенного индекса, сохраненного удаленно, или (ii) по меньшей мере части первого предварительно определенного индекса, сохраненной локально, осуществляется после выбора соответствующего одного пункта из: (i) первого предварительно определенного индекса, сохраненного удаленно, или (ii) по меньшей мере части первого предварительно определенного индекса, сохраненной локально, причем выбор осуществляется с помощью выполнения следующих этапов: определения параметра устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, сравнения параметра устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, с параметром предварительно определенного порогового значения устаревания, причем параметр предварительно определенного порогового значения устаревания указывает на то, является ли по меньшей мере часть соответствующего индекса, сохраненной локально, устаревшей, и в ответ на то, что параметр устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, превышает параметр предварительно определенного порогового значения устаревания, использование первого предварительно определенного индекса, сохраненного удаленно как источника по меньшей мере одного пункта, выбранного из списка: ссылки кода первого модуля или указания второго предварительно определенного индекса; и в ответ на то, что параметр устаревания по меньшей мере части первого предварительно определенного индекса, сохраненной локально, не превышает параметр предварительно определенного порогового значения устаревания, использование по меньшей мере части первого предварительно определенного индекса, сохраненной локально, как источника по меньшей мере одного пункта, выбранного из списка: ссылки кода первого модуля или указания второго предварительно определенного индекса.

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

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

[0037] В некоторых вариантах осуществления технологии первый предварительно определенный индекс и второй предварительно определенный индекс реализованы как единственный третий предварительно определенный индекс, и получение из любого пункта, выбранного из списка: по меньшей мере части первого предварительно определенного индекса или по меньшей мере части второго предварительно определенного индекса является получением по меньшей мере из части третьего предварительно определенного индекса.

[0038] В некоторых вариантах осуществления технологии третий предварительно определенный индекс является любым пунктом, выбранным из: третьего предварительно определенного индекса, сохраненного удаленно, или по меньшей мере части третьего предварительно определенного индекса, сохраненной локально.

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

[0040] В некоторых вариантах осуществления технологии получение компьютерным устройством запроса на выполнение действия является получением запроса, инициированного кодом третьего модуля.

[0041] В некоторых вариантах осуществления технологии компьютерное устройство связано с пользователем, и получение компьютерным устройством запроса на выполнение действия является получением запроса от пользователя.

[0042] В контексте настоящего описания «сервер» подразумевает под собой компьютерную программу, работающую на соответствующем оборудовании, которая способна получать запросы (например, от клиентских устройств) по сети и выполнять эти запросы или инициировать выполнение этих запросов. Оборудование может представлять собой один физический компьютер или одну физическую компьютерную систему, но ни то, ни другое не является обязательным для данной технологии. В контексте настоящей технологии использование выражения «сервер» не означает, что каждая задача (например, полученные команды или запросы) или какая-либо конкретная задача будет получена, выполнена или инициирована к выполнению одним и тем же сервером (то есть одним и тем же программным обеспечением и/или аппаратным обеспечением); это означает, что любое количество элементов программного обеспечения или аппаратных устройств может быть вовлечено в прием/передачу, выполнение или инициирование выполнения любого запроса или последствия любого запроса, связанного с клиентским устройством, и все это программное и аппаратное обеспечение может быть одним сервером или несколькими серверами, оба варианта включены в выражение «по меньшей мере один сервер».

[0043] В контексте настоящего описания, если конкретно не указано иное, «информация» включает в себя любую информацию любого типа, которую можно хранить на носителе информации. Таким образом, информация включает в себя (но не ограничивается) индексы любого типа, базы данных, массивы информации, файлы любого типа, аудиовизуальные произведения (фотографии, видео, звукозаписи, презентации и т.д.), данные (картографические данные, данные о местоположении, цифровые данные и т.д.), текст (мнения, комментарии, вопросы, сообщения и т.д.), документы, таблицы и т.д.

[0044] В контексте настоящего описания, если конкретно не указано иное, «компонент» подразумевает под собой программное обеспечение (соответствующее конкретному аппаратному контексту), которое является необходимым и достаточным для выполнения конкретной(ых) указанной(ых) функции(й).

[0045] В контексте настоящего описания, если конкретно не указано иное, термин «носитель информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.

[0046] В контексте настоящего описания, если конкретно не указано иное, слова «код модуля» означают исполнимый компьютером программный код, выполненный для осуществления конкретной задачи. Для осуществления этой конкретной задачи код модуля может потребовать один или несколько кодов других модулей. Например, для осуществления конкретной задачи код первого модуля может потребовать использовать код второго модуля. Коды нескольких модулей могут храниться на том же самом носителе информации или на разных носителях информации. Носители информации могут быть частями серверов или другими компьютерными устройствами. Возможно, например, что код первого модуля хранится на носителе информации компьютерного устройства, а код второго модуля хранится на носителе информации сервера. Кроме того, возможно, что коды и первого, и второго модуля хранятся либо на носителе(ях) информации на одном сервере, либо на двух или нескольких различных носителях информации или двух различных серверах.

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

[0048] В контексте настоящего описания, если конкретно не указано иное, термин «ссылка на код модуля» обозначает ссылку, указывающую положение кода конкретного модуля на конкретном носителе информации.

[0049] В контексте настоящего описания, если конкретно не указано иное, слова «первый», «второй», «третий» и т.д. используются в виде прилагательных исключительно для того, чтобы отличать существительные, к которым они относятся, друг от друга, а не для целей описания какой-либо конкретной передачи данных между этими существительными. Так, например, следует иметь в виду, что использование терминов «первый предварительно определенный индекс» и «третий предварительно определенный индекс» не подразумевает какого-либо порядка, отнесения к определенному типу, хронологии, иерархии или ранжирования (например) предварительно определенных индексом/между предварительно определенными индексами, равно как и их использование (само по себе) не предполагает, что некий «второй предварительно определенный индекс» обязательно должен существовать в той или иной ситуации. В дальнейшем, как указано здесь в других контекстах, упоминание «первого» элемента и «второго» элемента не исключает возможности того, что это один и тот же фактический реальный элемент. Так, например, в некоторых случаях, «первый» сервер и «второй» сервер могут являться одним и тем же программным и/или аппаратным обеспечением, а в других случаях они могут являться разным программным и/или аппаратным обеспечением.

[0050] Каждый вариант осуществления настоящей технологии преследует по меньшей мере одну из вышеупомянутых целей и/или объектов, но наличие всех не является обязательным. Следует иметь в виду, что некоторые объекты данной технологии, полученные в результате попыток достичь вышеупомянутой цели, могут не удовлетворять этой цели и/или могут удовлетворять другим целям, отдельно не указанным здесь.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0052] Для лучшего понимания настоящей технологии, а также других ее аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:

[0053] На Фиг. 1 представлена принципиальная схема системы, реализованной в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем.

[0054] На Фиг. 2 представлена блок-схема компьютерного способа загрузки кодов модулей, запрашиваемых компьютерным устройством для выполнения действия, способ реализуется в соответствии с вариантами осуществления настоящей технологии, не ограничивающими ее объем.

[0055] На Фиг. 3 представлена принципиальная схема графического пользовательского интерфейса и иллюстрация определенных аспек