УСТРОЙСТВО ОБРАБОТКИ ИНФОРМАЦИИ И СПОСОБ УПРАВЛЕНИЯ ДЛЯ НЕГО
INFORMATION PROCESSING APPARATUS AND CONTROL METHOD THEREFOR

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение имеет отношение к устройству обработки информации и способу управления для него.
ОПИСАНИЕ ПРЕДШЕСТВУЮЩЕГО УРОВНЯ ТЕХНИКИ
Многофункциональные периферийные устройства (MFP), которые используются в настоящее время, снабжены функцией web-сервера для выполнения обработки в ответ на запрос от множества внешних устройств в сети. Такое многофункциональное периферийное устройство, снабженное функцией web-сервера, исполняет web-приложение в многофункциональном периферийном устройстве в ответ на запрос обработки, принятый в соответствии с протоколом передачи гипертекста (HTTP). В таком запросе обработки HTTP путь к web-приложению, которое должно быть исполнено, и номер порта web-приложения обозначаются в форме указателя URL. После приема запроса HTTP от внешнего устройства многофункциональное периферийное устройство исполняет web-приложение, идентифицированное на основе пути и номера порта web-приложения, включенных в запрос HTTP. Выложенная патентная публикация Японии № 2005-092811 предлагает передавать сообщение об ошибке в качестве ответа внешнему устройству, которое является источником передачи запроса HTTP, если web-приложение, присвоенное номеру порта, указанному посредством указателя URL, не существует.
Выложенная патентная публикация Японии № 2006-277246 раскрывает систему так называемого перенаправления HTTP для передачи запроса HTTP, в котором обозначены номер порта и путь прикладной программы для web-приложения, присвоенного другому номеру порта. Согласно выложенной патентной публикации Японии № 2006-277246 в случае, когда от внешнего устройства принят запрос HTTP на выполнение обработки запроса web-приложения, присвоенного номеру порта (например, порта 80) для сервера HTTP, многофункциональное периферийное устройство заставляет внешнее устройство автоматически передавать запрос HTTP для web-приложения, присвоенного номеру порта (например, порта 443) для сервера HTTPS (сервера HTTP, использующего протокол безопасных соединений SSL).
Однако традиционная технология имеет описанные ниже проблемы. Согласно выложенной патентной публикации Японии № 2006-277246, если внешнее устройство передает запрос HTTP, обозначающий порт 80, для web-приложения, присвоенного порту 443, многофункциональное периферийное устройство передает web-клиенту (внешнему устройству) сообщение перенаправления HTTP для того, чтобы заставить это внешнее устройство автоматически передать запрос HTTP web-приложению на порту 443. Согласно системе перенаправления HTTP, описанной в выложенной патентной публикации Японии № 2006-277246, внешнее устройство может передать запрос HTTP, не зная, указывает ли номер порта web-приложения порт 80 или порт 443.
Однако согласно выложенной патентной публикации Японии № 2006-277246 перенаправление HTTP на web-приложение на порту 443 выполняется относительно всех запросов HTTP, обозначающих порт 80. Следовательно, перенаправление HTTP будет выполняться даже относительно web-приложения, для которого не должно быть выполнено перенаправление HTTP на порт 443. В результате, например, даже прикладная программа, у которой нет необходимости выполнять зашифрованную связь с использованием сервера HTTPS, будет выполнять зашифрованную связь, и тем самым производительность связи ухудшится.
Внешнее устройство, которое является источником передачи запроса HTTP, может представлять собой специализированный web-клиент, который запрашивает только конкретное web-приложение для выполнения обработки, а не персональный компьютер, на котором установлен обычный web-браузер. Такой специализированный web-клиент может не быть в состоянии интерпретировать сообщение перенаправления HTTP от многофункционального периферийного устройства. Если сообщение перенаправления HTTP будет передано внешнему устройству, которое не может интерпретировать сообщение перенаправления HTTP, то после этого внешнее устройство не будет в состоянии взаимодействовать с web-приложением многофункционального периферийного устройства.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение обеспечивает возможность реализации устройства обработки информации, которое выборочно регистрирует номер порта перенаправления для перенаправления HTTP на web-приложение вместе с номером порта web-приложения и способа управления для него.
Один аспект настоящего изобретения обеспечивает устройство обработки информации, которое исполняет прикладную программу в ответ на запрос обработки, принятый от внешнего устройства через сеть, причем устройство содержит первый блок регистрации, который регистрирует прикладную программу совместно с предопределенным номером порта; блок определения, который определяет, должна ли быть зарегистрирована прикладная программа перенаправления, причем прикладная программа перенаправления перенаправляет запрос обработки на прикладную программу, зарегистрированную первым блоком регистрации, от внешнего устройства; второй блок регистрации, который регистрирует прикладную программу перенаправления совместно с номером порта перенаправления, если блок определения определяет, что прикладная программа перенаправления должна быть зарегистрирована; блок приема, который принимает от внешнего устройства через сеть запрос обработки, включающий в себя идентификационную информацию для идентификации прикладной программы и номера порта; блок обработки, который исполняет прикладную программу, зарегистрированную первым блоком регистрации, если идентификационная информация, включенная в принятый запрос обработки, указывает прикладную программу, зарегистрированную первым блоком регистрации, и если номер порта, включенный в принятый запрос обработки, указывает предопределенный номер порта; и блок перенаправления, который, если идентификационная информация, включенная в принятый запрос обработки, указывает прикладную программу, зарегистрированную первым блоком регистрации, и если номер порта, включенный в принятый запрос обработки, указывает номер порта перенаправления, передает внешнему устройству сообщение перенаправления для того, чтобы заставить внешнее устройство автоматически передать запрос обработки, включающий в себя прикладную программу, зарегистрированную первым блоком регистрации, и предопределенный номер порта, посредством исполнения прикладной программы перенаправления, зарегистрированной вторым блоком регистрации блоком.
Другой аспект настоящего изобретения обеспечивает способ управления для устройства обработки информации, которое исполняет прикладную программу в ответ на запрос обработки, принятый от внешнего устройства через сеть, при этом способ содержит этапы, на которых посредством первого блока регистрации регистрируют прикладную программу совместно с предопределенным номером порта; посредством блока определения определяют, должна ли быть зарегистрирована прикладная программа перенаправления, причем прикладная программа перенаправления перенаправляет запрос обработки прикладной программе, зарегистрированной при первой регистрации, от внешнего устройства; посредством второго блока регистрации регистрируют прикладную программу перенаправления совместно с номером порта перенаправления, если при определении определено, что программа перенаправления должна быть зарегистрирована; посредством блока приема принимают от внешнего устройства через сеть запрос обработки, включающий в себя идентификационную информацию для идентификации прикладной программы и номер порта; посредством блока обработки исполняют прикладную программу, зарегистрированную при первой регистрации, если идентификационная информация, включенная в принятый запрос обработки, указывает прикладную программу, зарегистрированную при первой регистрации, и если номер порта, включенный в принятый запрос обработки, указывает предопределенный номер порта; и если идентификационная информация, включенная в принятый запрос обработки, указывает прикладную программу, зарегистрированную при первой регистрации, и если номер порта, включенный в принятый запрос обработки, указывает номер порта перенаправления, передают внешнему устройству сообщение перенаправления для того, чтобы заставить внешнее устройство автоматически передать запрос обработки, включающий в себя прикладную программу, зарегистрированную при первой регистрации, и предопределенный номер порта, посредством исполнения прикладной программы перенаправления, зарегистрированной при второй регистрации.
Еще один аспект настоящего изобретения обеспечивает машиночитаемый носитель, хранящий компьютерную программу для предписания компьютеру выполнять способ управления для устройства обработки информации.
Дополнительные признаки настоящего изобретения станут понятны из следующего подробного описания иллюстративных вариантов воплощения со ссылкой на приложенные чертежи.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 - схема, показывающая пример системной конфигурации системы обработки информации в соответствии с вариантом воплощения настоящего изобретения.
Фиг.2 - схема, показывающая пример аппаратной конфигурации многофункционального периферийного устройства в соответствии с настоящим вариантом воплощения.
Фиг.3 - схема, иллюстрирующая функции многофункционального периферийного устройства в соответствии с настоящим вариантом воплощения.
Фиг.4 - схема, схематично показывающая список загрузки прикладных программ, которыми управляет блок управления прикладными программами многофункционального периферийного устройства в соответствии с настоящим вариантом воплощения.
Фиг.5 - блок-схема последовательности операций, показывающая обработку начальный загрузки, выполняемую блоком загрузки прикладных программ в соответствии с настоящим вариантом воплощения, когда многофункциональное периферийное устройство включается.
Фиг.6 - схема, показывающая сервлеты и номера портов, зарегистрированные относительно сервлетов, которыми управляет блок управления прикладными программами, в соответствии с настоящим вариантом воплощения.
Фиг.7 - схема последовательности в случае, когда внешнее устройство запрашивает сервлет A, который работает на сервере HTTP, для выполнения обработки, в соответствии с настоящим вариантом воплощения.
Фиг.8 - схема последовательности в случае, когда внешнее устройство запрашивает сервлет В, который работает на сервере HTTPS, для выполнения обработки, в соответствии с настоящим вариантом воплощения.
Фиг.9 - схема последовательности в случае, когда внешнее устройство запрашивает сервлет C, который работает на сервере HTTPS, для выполнения обработки, в соответствии с настоящим вариантом воплощения.
Фиг.10 - блок-схема последовательности операций, показывающая полную обработку в соответствии с настоящим вариантом воплощения.
ОПИСАНИЕ ВАРИАНТОВ ВОПЛОЩЕНИЯ
Теперь будут подробно описаны варианты воплощения настоящего изобретения со ссылкой на чертежи. Следует отметить, что относительное размещение компонентов, числовые выражения и числовые значения, изложенные в этих вариантах воплощения, не ограничивают объем настоящего изобретения, если специально не указано иначе.
Первый вариант воплощения
Описание сетевой конфигурации
Ниже дано описание первого варианта воплощения настоящего изобретения со ссылкой на фиг.1-10. Сначала дано описание системы обработки информации в соответствии с настоящим вариантом воплощения со ссылкой на фиг.1. Настоящий вариант воплощения показывает пример использования устройства для формирования изображения (устройства обработки информации), такого как многофункциональное периферийное устройство (MFP), принтер, факс или копировальная машина, в качестве примера устройства.
Как показано в фиг.1, многофункциональное периферийное устройство 101 и внешние устройства 102 и 103 соединены с возможностью взаимодействия с локальной сетью (LAN) 104. В настоящем варианте воплощения многофункциональное периферийное устройство 101 выполняет обработку, которая будет описана позже, согласно запросу обработки в соответствии с протоколом передачи гипертекста (HTTP) (в дальнейшем также называемому запросом HTTP), принятому, например, от внешнего устройства 102 или 103.
Аппаратная конфигурация многофункционального периферийного устройства
Далее дано описание аппаратной конфигурации многофункционального периферийного устройства со ссылкой на фиг.2. Многофункциональное периферийное устройство 101 является примером устройства обработки информации и снабжено блоком 200 управления, функциональным блоком 210, сканером 220 и принтером 230. Блок 200 управления снабжен центральным процессором (CPU) 201, оперативным запоминающим устройством (RAM; ОЗУ) 202, постоянным запоминающим устройством (ROM; ПЗУ) 203, интерфейсом 204 функционального блока, интерфейсом 205 сканера, интерфейсом 206 принтера и сетевым интерфейсом 207. Центральный процессор 201 выполняет общее управление многофункциональным периферийным устройством 101. Оперативное запоминающее устройство 202 представляет собой оперативную память, используемую в качестве рабочей области для центрального процессора 201 и буфера приема, и используется для создания изображения. Постоянное запоминающее устройство 203 представляет собой постоянную память, которая хранит программы, исполняемые центральным процессором 201, и данные шрифтов. Кроме того, многофункциональное периферийное устройство 101 снабжено накопителем на жестком диске (не показан), который хранит операционную систему, системное программное обеспечение и данные изображений.
Функциональный блок 210 состоит из различных переключателей и кнопок и блока жидкокристаллического дисплея для отображения сообщений. Сетевой интерфейс 207 представляет собой интерфейс для соединения многофункционального периферийного устройства 101 с сетью. Принтер 230 выполняет печать на листе для изготовления копии в соответствии с данными изображения. Сканер 220 считывает, например, печатный документ и преобразовывает считанный документ в электронные данные.
Функциональная конфигурация многофункционального периферийного устройства
Далее дано описание функциональной конфигурации многофункционального периферийного устройства со ссылкой на фиг.3. Каждый компонент, описанный ниже, может быть реализован как программное обеспечение, аппаратные средства или комбинация программного обеспечения и аппаратных средств. Как показано на фиг.3, многофункциональное периферийное устройство 101 снабжено блоком 301 загрузки прикладных программ, блоком 302 управления прикладными программами, прикладной программой 303 сервера HTTP и прикладной программой 304 сервера HTTPS в качестве функциональной конфигурации.
Блок 301 загрузки прикладных программ загружает прикладную программу из постоянного запоминающего устройства 203 и т.п. в соответствии с командой от блока 302 управления прикладными программами, например, когда многофункциональное периферийное устройство 101 включается или в ответ на команду загрузки от пользователя, и тем самым загружается эта прикладная программа. Кроме того, после приема запроса HTTP от внешнего устройства 102 или 103 блок 301 загрузки прикладных программ отправляет запрос информации о прикладной программе, которая будет исполняться, блоку 302 управления прикладными программами. Следует отметить, что запрос HTTP включает в себя указатель URL, представленный посредством идентификационной информации для идентификации web-приложения и номера порта. В настоящем варианте воплощения указатель URL описан в форме указателей URL, показанной следующим образом: "http://IP-адрес многофункционального периферийного устройства 101: номер порта/путь к сервлету". Когда многофункциональное периферийное устройство 101 принимает запрос HTTP, содержащий описанный указатель URL, сервлет вызовет прикладную программу, присвоенную обозначенному номеру порта. В частности, запрос HTTP представляет собой уведомление о запросе исполнения обозначенной прикладной программы (сервлета), зарегистрированной в сотрудничестве с обозначенным номером порта.
В ответ на запрос от блока 301 загрузки прикладных программ блок 302 управления прикладными программами уведомляет блок загрузки прикладных программ о прикладной программе, которая должна быть загружена, и о местоположении хранения этой прикладной программы, а именно, например, об адресе в постоянном запоминающем устройстве 203. Кроме того, блок 302 управления прикладными программами получает информацию о порядке загрузки и местоположении хранения прикладных программ, которые должны быть загружены, посредством обращения к списку загрузки, например, когда многофункциональное периферийное устройство 101 загружается. При этом список загрузки имеет информацию о порядке загрузки прикладных программ и местоположениях хранения программных кодов прикладных программ. Следует отметить, что список загрузки может быть сформирован блоком 302 управления прикладными программами в соответствии с информацией, заданной в заголовочной части программы прикладных программ, когда многофункциональное периферийное устройство 101 загружается.
Прикладная программа 303 сервера HTTP исполняет обычную прикладную программу сервера HTTP. Прикладная программа 304 сервера HTTPS исполняет прикладную программу сервера HTTP, использующую протокол безопасных соединений SSL. Кроме того, блок 301 начальной загрузки прикладных программ регистрирует сервлеты (прикладные программы), которые будут использоваться в соответствии с номерами портов, например, согласно информации, заданной в заголовочной части программы прикладных программ, в то время когда упомянутый выше список загрузки формируется при загрузке многофункционального периферийного устройства 101.
Список загрузки
Далее дано описание части списка загрузки прикладных программ со ссылкой на фиг.4. Номер для ссылок 401 обозначает имена прикладных программ, и номер для ссылок 402 обозначает порядок загрузки прикладных программ. Например, на фиг.4 прикладная программа сервера HTTP загружается первой, прикладная программа сервера HTTPS загружается второй, и после этого web-приложение, содержащее сервлет A, web-приложение, содержащее сервлет B, и web-приложение, содержащее сервлет C, загружаются в указанном порядке. Следует отметить, что в списке загрузки дополнительно заданы местоположения хранения программных кодов в соответствии с прикладными программами, что не показано на фиг.4.
При этом сервлет представляет собой часть программного кода, включенную в прикладную программу, и обычно обеспечивается для каждого блока, который реализует одну функцию. Таким образом, может быть построена прикладная программа, включающая в себя множество сервлетов. Следует отметить, что в настоящем варианте воплощения прикладные программы, включающие в себя сервлеты, заданы в списке загрузки, с тем чтобы быть загруженными после загрузки прикладной программы 303 сервера HTTP и прикладной программы 304 сервера HTTPS.
Кроме того, прикладные программы, включающие в себя сервлеты, вызывают во время их загрузки интерфейс прикладных программ (API) для регистрации сервлета в прикладной программе 303 сервера HTTP или прикладной программе 304 сервера HTTPS. Например, сервлет регистрируется в прикладной программе 303 сервера HTTP через интерфейс API, называемый registerServlet. Следует отметить, что registerServlet имеет два формата.
Первый формат registerServlet следующий:
registerServlet (сервлет, порт для регистрации)
В registerServlet в этом формате включены два параметра, а именно, сервлет, который работает в прикладной программе 303 сервера HTTP, и номер порта, который будет зарегистрирован в прикладной программе 303 сервера HTTP. В этом случае прикладная программа 303 сервера HTTP регистрирует обозначенный сервлет совместно с портом для регистрации.
Второй формат registerServlet следующий:
registerServlet (сервлет, порт для регистрации, порт для регистрации сервлета перенаправления)
В registerServlet в этом формате включены три параметра, а именно, в дополнение к параметрам, включенным в описанный выше первый формат, порт, совместно с которым регистрируется сервлет перенаправления (прикладная программа перенаправления). В этом случае прикладная программа 303 сервера HTTP также регистрирует сервлет перенаправления для выполнения перенаправления HTTP на зарегистрированный сервлет. Подробности способа загрузки сервлета, зарегистрированного с использованием registerServlet, будут описаны позже.
Обработка загрузки прикладной программы
Далее дано описание обработки загрузки прикладной программы, выполняемой многофункциональным периферийным устройством 101, со ссылкой на фиг.5. Обработка, описанная ниже, реализуется посредством центрального процессора 201, считывающего программу исполнения, сохраненную в постоянном запоминающем устройстве 203, и исполняющего считанную программу. Затем в ответ на включение многофункционального периферийного устройства 101, на команду пользователя для начала загрузки и т.п. исполняется описанная ниже последовательность операций.
На этапе S501 блок 302 управления прикладными программами заранее получает список загрузки, сохраненный в постоянном запоминающем устройстве 203. Кроме того, блок 302 управления прикладными программами уведомляет блок 301 загрузки прикладных программ об информации о прикладной программе, которая должна быть загружена, в соответствии с полученным списком загрузки. Затем на этапе S502 блок 301 загрузки прикладных программ загружает программный код прикладной программы, которая должна быть загружена, из постоянного запоминающего устройства 203 в оперативное запоминающее устройство 202 в соответствии с порядком загрузки, выданным блоком 302 управления прикладными программами. Затем на этапе S503 блок 301 загрузки прикладных программ загружает прикладную программу посредством исполнения программного кода, загруженного в оперативное запоминающее устройство 202.
Затем на этапе S504 блок 301 загрузки прикладных программ определяет, необходима ли регистрация сервлета. В частности, блок 301 загрузки прикладных программ определяет, что необходимо зарегистрировать сервлет, если упомянутый выше интерфейс API (registerServlet) вызван из программного кода посредством исполнения прикладной программы. При этом обработка переходит на этап S505, если необходимо зарегистрировать сервлет, в то время как обработка переходит на этап S508, если это не является необходимым.
На этапе S505 блок 301 загрузки прикладных программ регистрирует этот сервлет совместно с обозначенным номером порта. Затем на этапе S506 блок 301 загрузки прикладных программ определяет в отношении сервлета, зарегистрированного на этапе S505, необходимо ли зарегистрировать сервлет перенаправления (прикладную программу перенаправления). Следует отметить, что при этом определяется, включает ли в себя упомянутый выше интерфейс API (registerServlet), вызванный из исполняемого программного кода, параметр (третий параметр), указывающий номер порта перенаправления, совместно с которым должен быть зарегистрирован сервлет перенаправления. Если определено, что третий параметр включен в интерфейс, блок 301 загрузки прикладных программы определяет, что необходимо зарегистрировать сервлет перенаправления. При этом обработка переходит на этап S507, если необходимо зарегистрировать сервлет перенаправления, в то время как обработка переходит на этап S508, если это не является необходимым. Таким образом, в соответствии с настоящим вариантом воплощения, если зарегистрирован предопределенный сервлет, определяется, зарегистрирован ли сервлет перенаправления для этого предопределенного сервлета, и может быть зарегистрирован сервлет перенаправления, если он должен быть зарегистрирован.
На этапе S507 блок 301 загрузки прикладных программ регистрирует этот сервлет перенаправления совместно с обозначенным номером порта, и обработка переходит на этап S508. На этапе S508 блок 301 загрузки прикладных программ определяет, были ли загружены все прикладные программы, заданные в списке загрузки. При этом обработка заканчивается, если были загружены все прикладные программы, и в противном случае обработка возвращается на этап S502. При этом был описан способ регистрации сервлета в зависимости от того, был ли вызван упомянутый выше интерфейс API из программного кода, исполняемого блоком 301 загрузки прикладных программ. Однако настоящее изобретение не ограничено этим, и, например, блок 302 управления прикладными программами может создать список назначения сервлетов заранее и может доставить список регистрации сервлетов блоку 301 загрузки прикладных программ вместе с упомянутым выше списком загрузки во время загрузки прикладной программы. В этом случае блок 301 загрузки прикладных программ выполняет регистрацию сервлета с использованием доставленного списка регистрации сервлетов.
Сервлеты
Далее дано описание примера списка регистрации сервлетов, которым управляет блок 302 управления прикладными программами, со ссылкой на фиг.6. На фиг.6 номер 601 обозначает имена сервлетов, которые должны быть зарегистрированы. Номер 602 обозначает номер порта, присвоенный сервлетам, которые должны быть зарегистрированы. Номер 603 обозначает, был ли зарегистрирован номер порта. Номер 604 обозначает номер порта перенаправления в случае, когда этот номер порта зарегистрирован. Следует отметить, что порт с номером 80, описанный ниже, представляет собой номер порта для протокола HTTP, и порт с номером 443 представляет собой номер порта для протокола HTTPS.
Как показано на фиг.6, сервлет В зарегистрирован совместно с номером порта 443, и для него дополнительно зарегистрирован номер порта перенаправления 80. Например, если номер порта 80 обозначен относительно сервлета B в запросе HTTP от внешнего устройства 102, прикладная программа 303 сервера HTTP передает сообщение перенаправления HTTP внешнему устройству 102 посредством исполнения сервлета перенаправления, таким образом, внешнее устройство назначает сервлет В и номер порта 443. С другой стороны, если обозначены сервлет A или C, и присвоенный номер порта не обозначен, поскольку номер порта перенаправления не зарегистрирован, прикладная программа 303 сервера HTTP не передает сообщение перенаправления HTTP.
Последовательности обработки
Далее со ссылкой на фиг.7-9 дано описание последовательностей обработки в случае приема запросов HTTP, обозначающих сервлеты, от внешнего устройства. Сначала со ссылкой на фиг.7 дано описание последовательности обработки в случае приема запроса HTTP, обозначающего сервлет A, показанного на фиг.6, от внешнего устройства 102.
На этапе S701 внешнее устройство 102 уведомляет прикладную программу 303 сервера HTTP в многофункциональном периферийном устройстве 101 о запросе HTTP, в котором обозначен номер порта 80 и сервлет A. Поскольку сервлет A (306), присвоенный номеру порта 80, зарегистрирован, как показано, например, на фиг.3 и 6, прикладная программа 303 сервера HTTP после приема этого запроса HTTP вызывает сервлет A на этапе S702.
На этапе S703 сервлет A, который был вызван, выполняет обработку и на этапе S704 отправляет результат обработки прикладной программе 303 сервера HTTP в качестве ответа. На этапе S705 прикладная программа 303 сервера HTTP уведомляет внешнее устройство 102, которое передало запрос HTTP, о результате обработки от сервлета A (ответ HTTP).
Далее со ссылкой на фиг.8 дано описание последовательности обработки в случае приема запроса HTTP, обозначающего сервлет B, от внешнего устройства 102. Сначала на этапе S801 внешнее устройство 102 уведомляет прикладную программу 303 сервера HTTP в многофункциональном периферийном устройстве 101 о запросе HTTP, в котором обозначен номер порта 80 и сервлет В. Поскольку сервлет 307 перенаправления для перенаправления сервлету В, присвоенный номеру порта 80, зарегистрирован, как показано в фиг.3 и 6, прикладная программа 303 сервера HTTP после приема этого запроса HTTP вызывает этот сервлет перенаправления на этапе S802.
На этапе S803 вызванный сервлет перенаправления создает сообщение перенаправления HTTP и на этапе S804 передает это сообщение перенаправления HTTP прикладной программе 303 сервера HTTP. При этом сообщение перенаправления HTTP представляет собой сообщение для выдачи команды внешнему устройству автоматически выполнить запрос HTTP, обозначающий номер порта 443, в случае, в котором, например, требуется исполнение сервлета В. На этапе S805 прикладная программа 303 сервера HTTP уведомляет внешнее устройство 102 о сообщении перенаправления HTTP в качестве ответа HTTP.
Затем на этапе S806 внешнее устройство 102 уведомляет прикладную программу 304 сервера HTTPS о запросе HTTP, в котором номер порта 443 и сервлет В обозначены в соответствии с принятым сообщением перенаправления HTTP. Поскольку сервлет В (308), присвоенный номеру порта 443, зарегистрирован, как показано на фиг.3 и 6, прикладная программа 304 сервера HTTPS после приема этого запроса HTTP вызывает сервлет В на этапе S807.
Сервлет В, который был вызван, на этапе S808 выполняет обработку и на этапе S809 отправляет результат обработки прикладной программе 304 сервера HTTPS в качестве ответа. На этапе S810 прикладная программа 304 сервера HTTPS уведомляет внешнее устройство 102, которое передало запрос HTTP, о результате обработки от сервлета В (ответ HTTP).
Далее со ссылкой на фиг.9 дано описание последовательности обработки в случае приема запроса HTTP, обозначающего сервлет C, показанный на фиг.6, от внешнего устройства 102. Сначала на этапе S901 внешнее устройство 102 уведомляет прикладную программу 304 сервера HTTPS в многофункциональном периферийном устройстве 101 о запросе HTTP, в котором обозначен номер порта 443 и сервлет C. Поскольку сервлет C (309), присвоенный номеру порта 443, зарегистрирован, как показано, например, на фиг.3 и 6, прикладная программа 304 сервера HTTPS после приема этого запроса HTTP вызывает сервлет C на этапе S902.
На этапе S903 сервлет C, который вызван, выполняет обработку и на этапе S904 отправляет результат обработки прикладной программе 304 сервера HTTPS в качестве ответа. На этапе S905 прикладная программа 304 сервера HTTPS уведомляет внешнее устройство 102, которое передало запрос HTTP, о результате обработки от сервлета C (ответ HTTP).
Полный поток обработки в системе обработки информации
Далее со ссылкой на фиг.10 дано описание полного потока обработки, показывающее работу между сервером (прикладной программой 303 сервера HTTP или прикладной программой 304 сервера HTTPS) и клиентом (внешним устройством) в системе обработки информации. Описанная ниже последовательность операций запускается посредством внешнего устройства (клиента), принимающего от пользователя команду для доступа к целевому серверу HTTP (прикладной программе 303 сервера HTTP или прикладной программе 304 сервера HTTPS).
Сначала на этапе S1001 внешнее устройство 102 следующим образом передает запрос на порт 80 сервера, обозначенного адресом сервера.
GET/ServletX
Host: Server address: 80
Следует отметить, что если в команде от пользователя номер порта сервера HTTP опущен, команда может быть интерпретирована как запрос к серверу, который работает на порту 80. Кроме того, упомянутый выше запрос представляет собой запрос на порт 80 для сервлета X.
На этапе S1002 прикладная программа 303 сервера HTTP принимает упомянутый выше запрос. Затем на этапе S1003 прикладная программа 303 сервера HTTP ищет среди сервлетов, зарегистрированных на сервере HTTP, сервлет с именем "ServletX". Затем на этапе S1004 прикладная программа 303 сервера HTTP на основе результата поиска определяет, существует ли целевой сервлет "ServletX" на сервере HTTP. При этом если он существует, обработка переходит на этап S1005, в то время как, если он не существует, обработка переходит на этап S1015.
На этапе S1005, если целевой сервлет "ServletX" существует, прикладная программа 303 сервера HTTP определяет, является ли сервлет "ServletX" сервлетом перенаправления. При этом, если это сервлет перенаправления, обработка переходит на этап S1006, и в противном случае обработка переходит на этап S1013. На этапе S1006 сервлет перенаправления формирует сообщение перенаправления HTTP в качестве данных ответа на запрос HTTP и передает сформированное сообщение перенаправления HTTP прикладной программе 303 сервера HTTP. Затем на этапе S1007 прикладная программа 303 сервера HTTP следующим образом передает ответ перенаправления HTTP внешнему устройству (клиенту) 102 в соответствии с принятым сообщением перенаправления HTTP.
302 Moved Temporarily
Location: http: //server address: 443/ServletX
Приведенный выше ответ перенаправления HTTP представляет собой сообщение для выдачи команды внешнему устройству 102 выполнить запрос HTTP, обозначающий сервлет "ServletX", зарегистрированный совместно с портом 443.
На этапе S1008 внешнее устройство 102 принимает приведенный выше ответ перенаправления HTTP. Затем на этапе S1009 внешнее устройство 102 интерпретирует указатель URL, описанный в заголовке местоположения (Location) ответа перенаправления HTTP, и автоматически следующим образом передает запрос на порт 443 сервера, обозначенного адресом сервера.
GET/ServletX
Host: Server address: 443
Приведенный выше запрос представляет собой запрос к прикладной программе сервера HTTPS, присвоенной порту 443, для сервлета "ServletX".
На этапе S1010 прикладная программа 304 сервера HTTPS принимает приведенный выше запрос. Затем на этапе S1011 прикладная программа 304 сервера HTTPS ищет среди сервлетов, зарегистрированных на сервере HTTPS, сервлет с именем "ServletX". На этапе S1012 прикладная программа 304 сервера HTTPS на основе результата поиска определяет, существует целевой сервлет "ServletX" на сервере HTTPS. При этом, если он существует, обработка переходит на этап S1013, в то время как, если он не существует, обработка переходит на этап S1015.
На этапе S1013 сервлет "ServletX" выполняет обработку в ответ на запрос и уведомляет сервер HTTP или сервер HTTPS (здесь прикладную программу 303 сервера HTTP или прикладную программу 304 сервера HTTPS) о результате обработки. После этого на этапе S1014 прикладная программа 303 сервера HTTP или прикладная программа 304 сервера HTTPS принимает данные ответа и уведомляет внешнее устройство 102, которое является клиентом, об этом ответе. Кроме того, на этапе S1016 внешнее устройство 102 принимает этот ответ, и обработка запроса заканчивается на этапе S1017.
На этапе S1015, поскольку целевой сервлет не зарегистрирован, прикладная программа 303 сервера HTTP или прикладная программа 304 сервера HTTPS формирует ответ ошибки (сообщение об ошибке) и уведомляет внешнее устройство 102 об этом ответе ошибки. После этого на этапе S1016 внешнее устройство 102 принимает ответ ошибки, и обработка запроса заканчивается на этапе S1017.
Как описано выше, разработчики прикладных программ для устройств обработки изображений могут преднамеренно выбрать, следует ли зарегистрировать сервлет передачи, при регистрации сервлета на сервере HTTP. В соответствии с этим, даже если доступный порт изменен после изменения протокола из-за ограничений и т.п., пользователь не должен снова изучать способ доступа, пока порт регистрации сервлета перенаправления не изменяется. Кроме того, разработчики поставщиков web-служб могут решить не регистрировать сервлет перенаправления, если клиент не может интерпретировать сообщение перенаправления HTTP.
В приведенном выше описании определение относительно того, должен ли быть зарегистрирован сервлет перенаправления, делается на основе параметра программного кода registerServlet, которым управляет блок 302 управления прикладными программами (см. этап S506). Однако даже если на этапе S506 определено, чтобы сервлет перенаправления был зарегистрирован, основная часть многофункционального периферийного устройства 101 может быть настроена таким образом, чтобы не выполнять перенаправление HTTP. В таком случае можно предотвратить регистрацию сервлета перенаправления. В результате безопасность может быть улучшена посредством предотвращения принятия запроса HTTP от web-клиента, который не знает путь к сервлету, который работает в прикладной программе сервера HTTPS.
Другие варианты воплощения
Аспекты настоящего изобретения также могут быть реализованы посредством компьютера системы или устройства (или таких устройств, как центральный процессор (CPU) или микропроцессор (MPU)), которое считывает и выполняет программу, записанную в запоминающем устройстве, для выполнения функций описанного выше варианта (вариантов) воплощения, и посредством способа, этапы которого выполняются компьютером системы или устройством, например, посредством считывания и исполнения программы, записанной в запоминающем устройстве, для выполнения функций описанного выше варианта (вариантов) воплощения. С этой целью программа предоставляется компьютеру, например, через сеть или с носителя записи различных типов, служащего в качестве запоминающего устройства (например, машиночитаемого носителя).
Хотя настоящее изобретение было описано в отношении иллюстративных вариантов воплощения, следует понимать, что изобретение не ограничивается раскрытыми иллюстративными вариантами воплощения. Объем следующей формулы изобретения должен получить самую широкую интерпретацию для охвата всех таких модификаций и эквивалентных структур и функций.