信息处理装置及信息处理装置的控制方法 【技术领域】
本发明涉及响应于来自外部设备的请求执行处理的信息处理装置。背景技术 近来, 具有复印功能或打印功能的多功能外围设备 (MFP) 已经包括用于在与网络 上的外部设备的通信中执行各种处理的 Web 服务器功能。具有 Web 服务器功能的 MFP 能够 从外部设备接收依照超文本传输协议 (HTTP, hypertext transfer protocol) 的处理请求, 根据所接收到的处理请求执行处理, 并将处理结果发送至外部设备。 例如, 当从外部设备接 收到用于获得 MFP 的处理状态 ( 表示作业是否被执行 ) 的请求时, MFP 将其自身的状态作 为响应发送至外部设备。作为另选方案, 当从外部设备接收到打印处理的请求时, MFP 响应 于所接收到的请求而执行打印, 并将处理结果作为响应发送至外部设备。
通常, 在 HTTP 服务器上运行的应用使用小甜饼 (Cookie) 来管理用于识别与外部 设备的通信状态的标识符。由 Cookie 管理的标识符能够用于确定请求是否来自特定的外 部设备, 或者确定外部设备是否曾经发出过请求, 以根据确定结果针对之前的请求进行后 续处理。此外, 标识符能够用于验证外部设备。
例如, 当网络上的外部设备请求在 HTTP 服务器上运行的应用的处理时, 在 HTTP 服 务器上运行的应用生成用于识别外部设备的标识符作为会话标识 (ID)。此外, 应用将会话 ID 连同处理请求的结果一起发送至外部设备。当再次请求在 HTTP 服务器上运行的应用的 处理时, 外部设备将处理请求连同从 MFP 接收到的会话 ID 一起发送。结果, MFP 能够识别 来自同一外部设备的处理请求, 并基于会话 ID 执行处理。
通常已知装载有在安全超文本传输协议 (HTTPS, hypertext transfer protocol secure) 服务器上运行的应用的 MFP, 所述 HTTPS 服务器通过向 HTTP 服务器 ( 通过安全套 接层 (SSL, secure socket layer) 加密数据来与 HTTP 客户机通信的 HTTP 服务器 ) 添加安 全性功能而形成。
如日本专利特开 2009-140163 号公报所记载的, 当网络上的外部设备请求 HTTPS 服务器上运行的应用的处理时, HTTPS 服务器上运行的应用不仅生成会话 ID, 而且生成被 称作安全会话 ID 的标识符。安全会话 ID 是在利用加密的通信中使用的标识符。在 HTTPS 服务器上运行的应用响应于处理请求, 将会话 ID 和安全会话 ID 连同处理结果一起发送至 外部设备。当再次请求 HTTPS 服务器上运行的应用的处理时, 外部设备将处理请求连同从 MFP 接收的会话 ID 和安全会话 ID 一起发送。
然而, 当加载 HTTP 服务器上运行的应用和 HTTPS 服务器上运行的应用时, MFP 根 据应用而使用不同的标识符。 因此, 响应于甚至来自同一外部设备的请求, 也需要管理不同 的标识符。
发明内容
根据本发明的一个方面, 提供一种能够与外部设备通信的信息处理装置, 该信息处理装置包括 : 第一处理单元 ; 第二处理单元 ; 接收单元, 其被构造成从所述外部设备接收 用于请求所述第一处理单元和所述第二处理单元中的任意一者的处理的处理请求 ; 生成单 元, 其被构造成在从所述外部设备接收到用于请求所述第一处理单元的处理的处理请求的 情况下, 生成用于通过所述第一处理单元识别所述外部设备的第一标识符, 并且还生成用 于通过所述第二处理单元识别所述外部设备的第二标识符 ; 存储单元, 其被构造成将所述 生成单元生成的第一标识符和第二标识符彼此相关联地存储 ; 以及发送单元, 其被构造成 在所述第一处理单元响应于所接收到的处理请求进行处理的情况下, 发送所述生成单元生 成的所述第一标识符, 其中, 在所述接收单元接收到用于请求所述第二处理单元的处理并 包括第一标识符的处理请求的情况下, 所述第二处理单元利用存储在所述存储单元中的第 一标识符和第二标识符以及该处理请求中包括的第一标识符, 来识别所述外部设备。
通过以下参照附图对示例性实施例的详细描述, 本发明的其它特征和方面将变得 清楚。 附图说明 被并入在说明书中并构成说明书的一部分的附图, 示出了本发明的示例性实施 例、 特征和方面, 并与文字描述一起用于说明本发明的原理。
图 1 例示了根据示例性实施例的包括 MFP 和外部设备的信息处理系统的系统结 构。
图 2 例示了根据本示例性实施例的 MFP 的硬件结构的框图。
图 3 例示了根据本示例性实施例的 MFP 的软件结构。
图 4 例示了根据本示例性实施例的会话管理单元管理的会话表的示例。
图 5 例示了根据本示例性实施例的 MFP 及外部设备的处理的序列图。
图 6 例示了根据本示例性实施例的扫描至箱 (Scan To Box) 小服务程序执行的处 理的流程图。
图 7( 包括图 7A 和图 7B) 例示了根据本示例性实施例的箱至打印 (Box To Print) 小服务程序执行的处理的流程图。
具体实施方式
以下, 将参照附图详细说明本发明的示例性实施例、 特征及方面。
参照图 1, 对根据本发明的示例性实施例的信息处理系统的系统结构进行说明, 其 中该信息处理系统包括多功能外围设备 (MFP) 和多个外部设备。
根据本示例性实施例的信息处理系统包括 MFP 101 以及外部设备 102 和 103。 MFP 101 以及外部设备 102 和 103 连接至网络 104, 以彼此相互通信。根据本示例性实施例, 使 用诸如 MFP、 打印机、 传真机、 复印机等的图像形成装置 ( 信息处理装置 ) 给出设备示例。
MFP 101 包括多个功能, 例如扫描功能、 传真功能、 打印功能、 电子邮件功能、 Web 浏览器功能以及 Web 服务器功能。根据本示例性实施例, MFP 101 包括 Web 服务器功能, 以 根据来自外部设备 102 或 103 的 Web 浏览器或专用 Web 客户机的请求执行处理, 并返回处 理结果。
当 Web 浏览器请求查看 MFP 101 的状态时, 获得关于 MFP 101 的状态信息, 并且所获得的结果被发送至 Web 浏览器。当 Web 浏览器请求 MFP 101 的网络设置时, 能够根据请 求中包含的参数来设置网络。
MFP 101 具有 Web 服务器功能, 以提供 MFP 101 的扫描功能或打印功能作为 Web 服 务。更具体地说, MFP 101 能够响应于来自 Web 浏览器或其它专用 HTTP 客户机的请求, 执 行扫描处理、 打印处理及网络发送处理。
虽然在图 1 中, MFP 101 的数量是 1 个, 然而可以将多个 MFP 101 连接至网络 104。
外部设备 102 包括 Web 浏览器, 以经由网络 104 请求 MFP 101 的 Web 应用的处理。 外部设备 102 是个人计算机 (PC) 或移动电话等。外部设备 102 可以是具有 Web 浏览器功 能的其它 MFP。
参照图 2, 对图 1 中的 MFP 101 的硬件结构进行说明。MFP 101 包括控制单元 200、 操作单元 210、 扫描器 220 和打印机 230。
控制单元 200 控制 MFP 101。控制单元 200 包括中央处理单元 (CPU)201、 随机存 取存储器 (RAM)202、 只读存储器 (ROM)203、 硬盘驱动器 (HDD)204、 操作单元接口 (I/F)205、 扫描器 I/F 206、 打印机 I/F207、 网络 I/F 208 以及图像处理单元 209。控制单元 200 中包 括的各部件通过系统总线相互连接。 CPU 201 是控制整个 MFP 101 的算术运算单元。RAM 202 是用于操作 CPU 201 的 系统工作存储器, 并且也是用于临时存储图像数据的图像存储器。 操作系统 (OS)、 系统软件 及应用程序被加载到 RAM 202。
HDD 204 存储 OS、 系统软件、 应用程序和图像数据。
操作单元 I/F 205 连接到操作单元 210。操作单元 210 整合有用于指示 MFP 101 的状态的显示设备 ( 例如触摸屏 ) 和用于发出针对 MFP 101 的指令的操作按钮。
扫描器 I/F 206 将作为图像输入设备的扫描器 220 连接至控制单元 200, 从而输入 图像数据。RAM 202 或 HDD 204 存储从扫描器 220 经由扫描器 I/F 206 输入的图像数据。 如果需要, 则通过加载至 RAM 202 的应用程序或图像处理单元 209 对存储的图像数据进行 图像处理。
打印机 I/F 207 将作为图像输出设备的打印机 230 连接至控制单元 200, 从而输 出图像数据。存储在 RAM 202 或 HDD 204 中的图像数据经由打印机 I/F 207 输出至打印机 230, 并且由打印机 230 打印图像。
网络 I/F 208 连接至局域网 (LAN), 以输入或输出图像数据或用于控制 MFP 101 的 信息。
图像处理单元 209 对从扫描器 220 输入的数据或要输出至打印机 230 的数据, 执 行包括图像处理、 图像旋转、 图像压缩、 分辨率转换、 色彩空间变换及灰度变换的处理。
虽然图 2 中未示出, 但是 MFP 101 包括传真 (FAX) 功能, 所述 FAX 功能用于利用调 制解调器设备的接口在控制单元 200 与调制解调器设备之间经由公共线路进行 FAX 发送。
参照图 3, 对 MFP 101 及外部设备 102 和 103 的软件结构进行说明。MFP 101 包括 超文本传输协议 (HTTP) 服务器 310、 安全超文本传输协议 (HTTPS) 服务器 320 以及会话管 理单元 330。CPU 201 将 ROM 203 或 HDD 204 中存储的程序加载到 RAM 202 并执行程序, 从 而能够实现 HTTP 服务器 310、 HTTPS 服务器 320 以及会话管理单元 330 的功能。
为外部设备 102 和 103 提供的 Web 浏览器 340 对于例如个人计算机 (PC) 是通用
的。Web 浏览器 340 在外部设备 102 的显示设备 ( 未示出 ) 上显示通过访问 HTTP 服务器 310 或 HTTPS 服务器 320 而获得的超文本标志语言 (HTML) 内容。HTML 内容是使用 HTML 描 述的数据。外部设备 103 包括与外部设备 102 类似的功能。
外部设备 102 和 103 可以包括针对与 MFP 101 中的 HTTP 服务器 310 或 HTTPS 服 务器 320 的通信而开发的专用应用, 代替对于 PC 通用的 Web 浏览器。
MFP 101 中的 HTTP 服务器 310 是响应于来自 Web 浏览器 340 的请求而显示 HTML 内容或提供其它服务的 Web 服务程序。HTTPS 服务器 320 是通过将安全套接层 (SSL) 整合 到 HTTP 服务器 310 来加密通信、 防止数据篡改及验证通信方的 Web 服务程序。
Scan To Box 小服务程序 311 是与 Web 浏览器 340 可通信的 Web 应用 ( 小服务程 序 (servlet))。Scan To Box 小服务程序 311 在 HTTP 服务器 310 上运行。Scan To Box 小 服务程序 311 还执行用于将通过扫描器 220 扫描文档而生成的图像数据存储到 HDD 204 的 预定存储区域 ( 称作箱 ) 的处理 ( 第一处理 )。
Scan To Box 小服务程序 311 根据来自外部设备 102 或 103 的依照 HTTP 的请求 ( 以下称为 HTTP 请求 ) 被调用, 然后被运行。由 Scan To Box 小服务程序 311 接收的 HTTP 请求对应于第一处理请求。基于从 Web 浏览器 340 接收到的 HTTP 请求中包含的统一资源 定位符 (URL) 来调用 Scan To Box 小服务程序 311。 以如下形式描述 URL, 即 “http://MFP 101 的 IP 地址 : HTTP 服务器 310 的端口号 ( 根据本示例性实施例为第 80 个端口 )/Scan To Box 小服务程序 311 的路径” 。换句话说, 当 MFP 101 接收到包括 URL 的 HTTP 请求时, 分配至第 80 个端口的 HTTP 服务器 310 调用 Scan To Box 小服务程序 311。
Scan To Box 小服务程序 311 还根据来自 Web 浏览器 340 的 HTTP 请求执行作业, 并将作业的执行结果作为 HTTP 的响应 ( 以下称为 HTTP 响应 ) 发送至 Web 浏览器 340。所 发送的 HTTP 响应包括表示作业正常结束的信息或表示执行期间发生错误的信息, 作为描 述。
Box To Print 小服务程序 321 可与 Web 浏览器 340 通信, 并且是在 HTTPS 服务器 320 上运行的 Web 应用 ( 小服务程序 )。Box To Print 小服务程序 321 执行用于打印箱中 存储的图像的处理 ( 第二处理 )。此外, BoxTo Print 小服务程序 321 通过从 HTTPS 服务器 320 调用而运行。
Box To Print 小服务程序 321 通过 HTTP 请求中包含的 URL 来调用。以如下形式 描述 URL, 即 “https://MFP 101 的 IP 地址 : HTTPS 服务器 320 的端口号 ( 根据本示例性实 施例为第 443 个端口 )/Scan To Box 小服务程序 311 的路径” 。
SSL 使得能够对在 Box To Print 小服务程序 321 与 Web 浏览器 340 之间发送或接 收的 HTTP 请求和 HTTP 响应加密。由 Box To Print 小服务程序 321 接收的 HTTP 请求对应 于第二处理请求。
HTML 内容生成单元 312 和 322 将响应于来自 Web 浏览器 340 的 HTTP 请求而生成 的 HTML 内容发送至 Web 浏览器 340。
会话管理单元 330 是 Cookie, 并且管理用于识别 Web 浏览器 340 与 HTTP 服务器 310 之间以及 Web 浏览器 340 与 HTTPS 服务器 320 之间的通信状态的标识符 ( 以下称为会 话信息 )。会话信息用作表示 Web 浏览器 340 的验证成功的标识符。此外, 当与 Web 浏览器
340 的通信开始时生成会话信息, 并且会话信息被存储到下文描述的会话表中。
会 话 管 理 单 元 330 还 存 储 用 于 保 持 由 会 话 表 管 理 的 会 话 信 息 的 保 持 时 间 (retention time)。根据本示例性实施例, 保持时间为 30 分钟。会话管理单元 330 检查当 前时间与 HTTP 服务器 310 或 HTTPS 服务器 320 最后使用 ( 参照 ) 会话信息的时间 ( 使用 日期 ) 之间的时间差是否为 30 分钟或更长。当会话管理单元 330 确定当前时间与会话信 息被参照的时间之间的时间差为 30 分钟或更长时, 会话管理单元 330 删除会话信息。
图 4 例示了根据本示例性实施例的会话管理单元 330 管理的会话表的示例。
会话管理表存储图 4 所示的多条会话信息。会话信息包括会话标识 (ID)、 安全会 话 ID、 HTTP 标志及使用日期的值, 作为属性。在会话管理表中, 会话 ID( 第一标识符 ) 和安 全会话 ID( 第二标识符 ) 被彼此关联地存储。
会话 ID 是用于识别与 Scan To Box 小服务程序 311 通信的外部设备 102 的标识 符。会话 ID 对应于第一标识符。在与 Box To Print 小服务程序 321 的通信中能够参照会 话 ID。
安全会话 ID 是用于识别与 Box To Print 小服务程序 321 通信的 Web 浏览器 340 的标识符。安全会话 ID 对应于第二标识符。当由安全会话 ID 指定的 Web 浏览器 340 与 HTTPS 服务器 320 通信时, HTTPS 标志被设置为 ON, 而当 Web 浏览器 340 从未与 HTTPS 服务 器 320 通信时, HTTPS 标志被设置为 OFF。 使用日期表示会话信息被使用 ( 参照 ) 时的日期。Scan To Box 小服务程序 311 或 Box To Print 小服务程序 321 从会话表获得会话信息, 并将使用日期更新为当前时间。 当 Scan To Box 小服务程序 311 或 Box To Print 小服务程序 321 使用会话信息时, 会话信 息的使用日期被更新。换句话说, 即使 Box To Print 小服务程序 321 在 30 分钟或更长的 时间内没有使用会话信息, 当 Scan To Box 小服务程序 311 使用会话信息时, 会话信息仍被 继续存储而不被删除。
图 5 是例示了 ScanTo Box 小服务程序 311、 Box To Print 小服务程序 321 和 Web 浏览器 340 之间的处理过程的序列图。通过执行下文所述的图 6 和图 7 的流程图中的处理 来实现图 5 中的处理过程。
步骤 S501 至 S503 对应于 MFP 101 中的 Scan To Box 小服务程序 311 与外部设备 102 中的 Web 浏览器 340 之间的处理。在步骤 S501 至 S503 中的通信中不进行利用 SSL 的 加密。因此, 网络 104 上的其它设备 ( 例如外部设备 103) 可能进行数据的窃取或篡改。
在步骤 S501 中, Web 浏览器 340 向 Scan To Box 小服务程序 311 发送基于 HTTP 的 请求 (HTTP 请求 )。HTTP 服务器 310 根据从 Web 浏览器 340 接收到的 HTTP 请求, 调用 Scan To Box 小服务程序 311。
在步骤 S502 中, ScanTo Box 小服务程序 311 生成新会话信息 ( 会话 ID、 安全会话 ID、 HTTP 标志和使用日期 )。根据本示例性实施例, Scan To Box 小服务程序 311 不仅一次 性 (in a lump) 生成用于 Scan To Box 小服务程序 311 与 Web 浏览器 340 之间通信的会话 ID, 而且还生成用于与 Box To Print 小服务程序 321 之间通信的安全会话 ID。 Scan To Box 小服务程序 311 将一次性生成的会话 ID( 第一标识符 ) 和安全会话 ID( 第二标识符 ) 彼此 相关联地存储到会话表。结果, 通过生成多次的会话信息, 减轻了 CPU 201 的处理负荷。
仅当确定在 Web 浏览器 340 与 Scan To Box 小服务程序 311 之间不存在有效的会
话信息时, 才执行步骤 S502 中生成会话信息的处理。在如下条件下确定是否存在有效的会 话信息, 例如表示是否是与 Web 浏览器 340 的第一次通信的条件, 或者表示在与 Web 浏览器 340 的前次通信之后经过预定时间 (30 分钟 ) 时会话信息是否无效的条件。下面参照图 6 中的流程图来进行详细说明。
Scan To Box 小服务程序 311 根据步骤 S501 中接收的 HTTP 请求来执行 Scan To Box 处理, 并将表示处理结果的 HTTP 响应发送至 Web 浏览器 340。 当发送 HTTP 响应时, Scan To Box 小服务程序 311 获得在步骤 S502 中生成的会话信息中的会话 ID, 并发送 HTTP 响应 的 Cookie 头中包含的会话 ID。
步骤 S504 至 S507 对应于 MFP 101 中的 Box To Print 小服务程序 321 与外部设备 102 中的 Web 浏览器 340 之间的处理。通过 SSL 对步骤 S504 至 S507 中接收或发送的 HTTP 请求和 HTTP 响应进行加密。
在步骤 S504 中, Web 浏览器 340 向 Box To Print 小服务程序 321 发送 HTTP 请求。 此时, Web 浏览器 340 发送 HTTP 请求的 Cookie 头中包含的步骤 S503 中接收的会话 ID。
在步骤 S505 中, Box To Print 小服务程序 321 根据步骤 S504 中接收的 HTTP 请求 来执行 Box To Print 处理。更具体地说, Box To Print 小服务程序 321 生成从 HDD 204 获 得的图像数据的预览图像, 以允许操作外部设备 102 的用户检查作为打印目标的图像。此 外, Box To Print 小服务程序 321 将所生成的预览图像作为 HTTP 响应发送至 Web 浏览器 340。此时, Box To Print 小服务程序 321 发送 HTTP 响应的头中包含的安全会话 ID。
在步骤 S505 中, 当 Web 浏览器 340 首次访问 Box To Print 小服务程序 321 时, 或 在与 Web 浏览器 340 的前次通信之后经过预定时间 (30 分钟 ) 时, Box To Print 小服务程 序 321 发送安全会话 ID。
在步骤 S506 中, Web 浏览器 340 向 Box To Print 小服务程序 321 发送 HTTP 请求。 此时, Web 浏览器 340 获得步骤 S503 中接收的 HTTP 响应中包含的会话 ID 以及步骤 S505 中 接收的 HTTP 响应中包含的安全会话 ID。此外, Web 浏览器 340 发送 HTTP 请求的头中包含 的所获得的会话 ID 及安全会话 ID。
在步骤 S507 中, Box To Print 小服务程序 321 基于步骤 S506 中接收的 HTTP 请 求, 执行后续的 Box To Print 处理。更具体地说, 当 HTTP 请求表示打印与预览图像相对应 的图像数据时, BoxTo Print 小服务程序 321 基于 HDD 204 中存储的图像数据执行图像的 打印。此外, Box To Print 小服务程序 321 将处理结果作为 HTTP 响应发送至 Web 浏览器 340。
步骤 S508 至 S509 对应于由 Web 浏览器 340 对在步骤 S501 中访问的 Scan To Box 小服务程序 311 再次访问的处理。
在步骤 S508 中, Web 浏览器 340 向 Scan To Box 小服务程序 311 发送包含步骤 S503 中接收的会话 ID 的 HTTP 请求。在步骤 S509 中, Scan To Box 小服务程序 311 基于步 骤 S508 中接收的 HTTP 请求来执行 Scan To Box 处理, 并将处理结果作为 HTTP 响应进行发 送。在步骤 S509 中, Scan To Box 小服务程序 311 发送不包含 HTTP 响应的头中的会话信 息的处理结果。
步骤 S510 至 S512 对应于另一外部设备 103 的 Web 浏览器 340 与 BoxTo Print 小 服务程序 321 之间的处理。在步骤 S510 中, 另一外部设备 103 的 Web 浏览器 340 向 Box To Print 小服务程 序 321 发送 HTTP 请求。假设所发送的 HTTP 请求包括步骤 S502 中由外部设备 102 接收的 会话 ID。例如, 外部设备 103 可能窃听步骤 S502 中的通信以获得会话 ID。
在步骤 S511 中, Box To Print 小服务程序 321 确定 HTTP 请求来自另一外部设备 103, 并生成新会话信息 ( 会话 ID、 安全会话 ID、 HTTP 标志和使用日期 )。
在步骤 S512 中, Box To Print 小服务程序 321 获得步骤 S511 中生成的会话信息 中的会话 ID 和安全会话 ID, 并将获得的会话 ID 和安全会话 ID 连同 Box To Print 处理的 结果一起发送至 Web 浏览器 340。
根据本示例性实施例, 可以通过会话 ID 管理 Scan Tb Box 小服务程序 311 和 Web 浏览器 340 的会话信息。另一方面, 在 Box To Print 小服务程序 321 与 Web 浏览器 340 之 间的通信中, 由于执行了利用 SSL 的数据加密, 因此通过安全会话 ID 和会话 ID 来管理会话 信息。 根据本示例性实施例, 即使需要通过多个小服务程序管理不同的标识符, 如果请求来 自同一 Web 浏览器, 也能够将标识符作为公共会话信息统一管理。
根据本示例性实施例, 在步骤 S501 中, 如果 Scan To Box 小服务程序 311 接收到 HTTP 请求, 则一次性生成会话 ID 和安全会话 ID 作为会话信息。由此, 在步骤 S504 中, 在 步骤 S501 之后向 Box To Print 小服务程序 321 发送 HTTP 请求, 可以不生成安全会话 ID。 优点在于, 通过在步骤 S501 中初次请求时一次性生成会话信息, 能够减轻 CPU 201 的处理 负荷。 参照图 6, 对根据本示例性实施例的 Scan To Box 小服务程序 311 执行的 Scan To Box 处理进行说明。 用于执行图 6 的流程图中的各步骤的程序被存储在 MFP 101 的 ROM 203 或 HDD 204 中, 被加载至 RAM 202 并由 CPU 201 执行。
通过操作外部设备 102 或 103 的用户对 MFP 101 指示 Scan To Box 处理来开始图 6 的流程图中的处理。当指示 Scan To Box 处理时, 用户在 Web 浏览器 340 显示的操作画面 上指定文档的扫描分辨率、 读取图像的箱存储目的地、 以及对存储图像设置的文件名, 以指 示扫描的执行。
在步骤 S601 中, Scan To Box 小服务程序 311 接收来自 Web 浏览器 340 的 HTTP 请 求。HTTP 请求中的 Cookie 头可以包括会话 ID。
在步骤 S602 中, Scan To Box 小服务程序 311 检查 HTTP 请求中的 Cookie 头。在 步骤 S603 中, 当 Scan To Box 小服务程序 311 确定 Cookie 头包括会话 ID 时 ( 步骤 S603 中的 “是” ), 处理进行到步骤 S609。当 Scan To Box 小服务程序 311 确定 Cookie 头不包括 会话 ID 时 ( 步骤 S603 中的 “否” ), 处理进行到步骤 S604。
在步骤 S604 中, Scan To Box 小服务程序 311 生成会话信息 ( 会话 ID、 安全会话 ID、 HTTP 标志和关于使用日期的信息 )。此外, Scan To Box 小服务程序 311 可以生成用于 识别使用者的标识符或者由小服务程序特定使用的设置。
在步骤 S605 中, Scan To Box 小服务程序 311 将步骤 S604 中生成的 HTTP 标志设 置为 OFF。
在步骤 S606 中, Scan To Box 小服务程序 311 将步骤 S604 中生成的并在步骤 S605 设置的会话信息存储到会话管理单元 330 中的会话表。存储在会话表中的会话信息被临时 存储到 RAM 202。
在步骤 S607 中, Scan To Box 小服务程序 311 根据步骤 S601 中接收的 HTTP 请求 来执行 Scan To Box 处理。 HTTP 请求包括扫描分辨率、 箱存储目的地、 以及对要存储在箱中 的图像设置的文件名。Scan To Box 小服务程序 311 根据 HTTP 请求中包含的信息, 将扫描 器 220 读取的图像数据存储到 HDD 204。
在步骤 S608 中, Scan To Box 小服务程序 311 将步骤 S604 中生成的会话 ID 以及 步骤 S607 的执行结果 ( 表示成功或失败的信息 ) 作为 HTTP 响应进行发送。然后, 流程图 中的处理结束。
另一方面, 当 Scan To Box 小服务程序 311 确定 HTTP 请求中的 Cookie 头包括会 话 ID 时 ( 步骤 S603 中的 “是” ), Scan To Box 小服务程序 311 执行步骤 S609 中的处理。 在步骤 S609 中, Scan To Box 小服务程序 311 使用 Cookie 头的会话 ID 作为线索, 在会话 管理单元 330 管理的会话表中搜索会话信息。
在步骤 S610 中, 作为搜索结果, 当 Scan To Box 小服务程序 311 确定会话表中存 在包括与 Cookie 头的会话 ID 匹配的会话 ID 的会话信息时 ( 步骤 S610 中的 “是” ), 处理 进行到步骤 S611。当 Scan To Box 小服务程序 311 确定会话表中不存在包括与 Cookie 头 的会话 ID 匹配的会话 ID 的会话信息时 ( 步骤 S610 中的 “否” ), 处理进行到步骤 S604。 在步骤 S611 中, Scan To Box 小服务程序 311 指定步骤 S610 中确定的相匹配的 会话信息, 并更新指定会话信息的使用日期。更具体地说, Scan To Box 小服务程序 311 将 通过 MFP 101 的内部定时器 ( 未示出 ) 获得的当前时间设置为使用日期, 并将所设置的使 用日期存储到图 4 中的会话表。
在步骤 S612 中, Scan To Box 小服务程序 311 执行 Scan To Box 处理。更具体地 说, Scan To Box 小服务程序 311 根据步骤 S601 中接收的 HTTP 请求, 将扫描器 220 读取的 图像数据存储到 HDD 204。
在步骤 S613 中, Scan To Box 小服务程序 311 将步骤 S612 中的执行结果 ( 表示成 功或失败的信息 ) 作为 HTTP 响应发送至 Web 浏览器 340。然后, 流程图中的处理结束。在 步骤 S613 中, Scan To Box 小服务程序 311 不发送会话 ID。
参照图 7( 包括图 7A 和图 7B), 对根据本示例性实施例的 Box To Print 小服务程 序 321 的 Box To Print 处理进行说明。用于执行图 7A 和图 7B 的流程图中的各步骤的程 序被存储在 MFP 101 中的 ROM 203 或 HDD 204 中, 加载至 RAM 202, 并由 CPU 201 执行。
通过用户在外部设备 102 或 103 中的 Web 浏览器 340 上指示 Box To Print 处理 来开始图 7A 和图 7B 中的流程图中的处理。当在 Web 浏览器 340 上指示 Box To Print 处 理时, 用户通过在 Web 浏览器 340 的操作画面上指定作为打印目标的图像数据的存储位置、 打印前是否预览数据以及各种打印设置, 来指示打印。
在步骤 S701 中, Box To Print 小服务程序 321 接收来自 Web 浏览器 340 的 HTTP 请求。
在步骤 S702 中, Box To Print 小服务程序 321 检查 HTTP 请求中的 Cookie 头。在 步骤 S703 中, 当 Box To Print 小服务程序 321 确定 Cookie 头包括安全会话 ID 时 ( 步骤 S703 中的 “是” ), 处理进行至步骤 S704。当 Box To Print 小服务程序 321 确定 Cookie 头 不包括安全会话 ID 时 ( 步骤 S703 中的 “否” ), 处理进行至步骤 S709。
在步骤 S704 中, Box To Print 小服务程序 321 使用 Cookie 头中的安全会话 ID 作
为线索, 在会话管理单元 330 管理的会话表中搜索会话信息。
在步骤 S705 中, 作为搜索结果, 当 Box To Print 小服务程序 321 确定会话表中 存在包括与 Cookie 头的安全会话 ID 匹配的安全会话 ID 的会话信息时 ( 步骤 S705 中的 “是” ), 处理进行至步骤 S706。当 Box To Print 小服务程序 321 确定会话表中不存在包括 与 Cookie 头的安全会话 ID 匹配的安全会话 ID 的会话信息时 ( 步骤 S705 中的 “否” ), 处 理进行至步骤 S709。
当步骤 S701 中接收的 HTTP 请求中包含的 Cookie 头包括由会话表管理的安全会 话 ID 时, 在步骤 S705 中确定为 “是” 。在这种情况下, 请求被确定为来自曾经通过 SSL 通信 发送过安全会话 ID 的 Web 浏览器 340。然后, 处理进行至步骤 S706 或之后的步骤。
在步骤 S706 中, Box To Print 小服务程序 321 指定步骤 S705 中确定的匹配的会 话信息, 并更新指定会话信息的使用日期。
在步骤 S707 中, Box To Print 小服务程序 321 根据步骤 S701 中接收的 HTTP 请 求来执行 Box To Print 处理。更具体地说, 基于步骤 S701 中接收的 HTTP 请求中包含的关 于作为打印目标的图像数据的存储位置、 打印前是否进行预览以及各种打印设置的信息, 来进行打印。 在步骤 S708 中, Box To Print 小服务程序 321 将步骤 S708 中的执行结果 ( 表示 成功或失败的信息 ) 作为 HTTP 响应发送至 Web 浏览器 340。然后, 流程图中的处理结束。
当步骤 S701 中接收的 HTTP 请求指定了预览时, 在步骤 S707 中, 获得 HDD 204 中 存储的图像数据, 并且图像处理单元 209 生成预览图像。 在步骤 S708 中, 图像处理单元 209 将预览图像作为 HTTP 响应发送至 Web 浏览器 340。通过从 Web 浏览器 340 再次接收用于指 示基于预览图像执行打印的 HTTP 请求, 来执行步骤 S701 至 S706 中的处理。然后, 在步骤 S707 中, Box To Print 小服务程序 321 执行后续的 Box To Print 处理。
另一方面, 当 HTTP 请求中的 Cookie 头不包括安全会话 ID 时 ( 步骤 S703 中的 “否” ), Box To Print 小服务程序 321 执行步骤 S709 中的处理。在步骤 S709 中, Box To Print 小服务程序 321 确定 HTTP 请求中的 Cookie 头是否包括会话 ID。当 Cookie 头包括 会话 ID 时 ( 步骤 S709 中的 “是” ), 处理进行至步骤 S710。当 Cookie 头不包括会话 ID 时 ( 步骤 S709 中的 “否” ), 处理进行至步骤 S717。
在步骤 S710 中, Box To Print 小服务程序 321 使用 Cookie 头的会话 ID 作为线 索, 在会话管理单元 330 管理的会话表中搜索会话信息。
在步骤 S711 中, 作为搜索结果, 当 Box To Print 小服务程序 321 确定会话表中存 在包括与 Cookie 头的会话 ID 匹配的会话 ID 的会话信息时 ( 步骤 S711 中的 “是” ), 处理 进行至步骤 S712。当 Box To Print 小服务程序 321 确定会话表中不存在包括与 Cookie 头 的会话 ID 匹配的会话 ID 的会话信息时 ( 步骤 S711 中的 “否” ), 处理进行至步骤 S717。
在步骤 S712 中, Box To Print 小服务程序 321 指定步骤 S711 中确定的匹配的会 话信息, 并确定指定的会话信息的 HTTPS 标志是 ON 还是 OFF。当 Box To Print 小服务程序 321 确定 HTTPS 标志为 OFF 时 ( 步骤 S712 中的 “否” ), 处理进行至步骤 S713。
在步骤 S712 中, 当步骤 S701 中接收的 HTTP 请求中包含的 Cookie 头包括会话 ID、 但是 HTTPS 标志为 OFF 时, 在步骤 S712 中确定为 “否” 。换句话说, Box To Print 小服务 程序 321 确定请求来自过去与 Scan To Box 小服务程序 311 进行过通信、 但还未与 Box To
Print 小服务程序 321 通信的 Web 浏览器 340。然后, 处理进行至步骤 S713 或之后的步骤。
在步骤 S713 中, Box To Print 小服务程序 321 将步骤 S712 中指定的会话信息的 HTTPS 标志设置为 ON。在步骤 S714 中, Box To Print 小服务程序 321 更新在步骤 S712 中 指定的会话信息的使用日期。 在步骤 S715 中, Box To Print 小服务程序 321 根据步骤 S701 中接收的 HTTP 请求, 执行 Box To Print 处理。
在步骤 S716 中, Box To Print 小服务程序 321 从会话管理单元 330 管理的会话 表中获得步骤 S712 中指定的会话信息的安全会话 ID。Box ToPrint 小服务程序 321 将所 获得的安全会话 ID 及步骤 S715 的执行结果 ( 表示成功或失败的信息 ) 作为 HTTP 响应发 送至 Web 浏览器 340。然后, 流程图中的处理结束。
另一方面, 如果确定 HTTPS 标志为 ON( 步骤 S712 中的 “是” ), 则 Box To Print 小服 务程序 321 执行步骤 S717 中或之后步骤的处理。 当 HTTPS 标志为 ON、 由此在 Box To Print 小服务程序 321 与 Web 浏览器 340 之间曾经进行了利用 SSL 的数据通信时, 在步骤 S712 中 确定为 “是” 。换句话说, 需要从 Box To Print 小服务程序 321 向 Web 浏览器 340 发送安全 会话 ID。
然而, 步骤 S701 中接收的 HTTP 请求中包含的 Cookie 头包括会话 ID, 但是不包括 安全会话 ID( 或者 Cookie 头包括与会话表中的值不匹配的安全会话 ID)。在这种情况下, 可能考虑到第三方窃听 Web 浏览器 340 与 Scan To Box 小服务程序 311 之间的通信的情况。 为了生成新会话信息, 处理进行至步骤 S717。
在步骤 S717 中, Box To Print 小服务程序 321 重新生成会话信息 ( 会话 ID、 安全 会话 ID、 HTTPS 标志及使用日期 )。该处理与图 6 中的步骤 S604 中的处理类似。
在步骤 S718 中, Box To Print 小服务程序 321 将步骤 S717 中生成的会话信息的 HTTPS 标志设置为 ON。在步骤 S719 中, Box To Print 小服务程序 321 将步骤 S717 中生成 的会话信息存储到会话表。
在步骤 S720 中, Box To Print 小服务程序 321 根据步骤 S701 中接收的 HTTP 请 求, 执行 Box To Print 处理。在步骤 S721 中, Box To Print 小服务程序 321 将步骤 S717 中生成的会话信息中的会话 ID 和安全会话 ID 连同执行结果一起发送至 Web 浏览器 340。 然后, 流程图中的处理结束。
如上所述, 根据本示例性实施例, 即使需要通过多个小服务程序利用不同的标识 符来识别外部设备, MFP 101 也能够辨识出请求来自同一 Web 浏览器。
此外, 根据本示例性实施例, 会话表将用于通过 Scan To Box 小服务程序识别外部 设备的会话 ID 与用于通过 Box To Print 小服务程序识别外部设备的安全会话 ID 彼此相 关联地存储。结果, MFP 能够将会话 ID 和安全会话 ID 作为公共会话信息统一管理。
此外, 根据本示例性实施例, 当 Scan To Box 小服务程序接收 HTTP 请求时, 一次 性生成会话 ID 和安全会话 ID 二者。因此, 当 Box To Print 小服务程序接收来自向 Scan To Box 小服务程序发送第一处理请求的外部设备的第二处理请求时, 可以不生成安全会话 ID。更具体地说, 能够在接收第一处理请求时一次性生成会话信息, 所以能够减轻 CPU 的处 理负荷, 并且容易管理会话信息。
本发明的各方面还可以通过读出并执行记录在存储设备上的用于执行上述实施 例的功能的程序的系统或装置的计算机 ( 或诸如 CPU 和 / 或微处理单元 (MPU) 等的设备 )、以及由系统或装置的计算机例如读出并执行记录在存储设备上的用于执行上述实施例的 功能的程序来执行各步骤的方法来实现。为此, 例如经由网络或者从用作存储设备的各种 类型的记录介质 ( 例如计算机可读介质 ) 向计算机提供程序。
虽然参照示例性实施例对本发明进行了说明, 但是应当理解, 本发明不限于所公 开的示例性实施例。 应当对所附权利要求的范围给予最宽的解释, 以使其涵盖所有的变型、 等同结构及功能。