专利名称:中介服务器和通信设备的制作方法
技术领域:
本说明书公开了一种构造成对通信设备与特定服务器之间的通信起中介作用的中介服务器。本说明书进一步公开了一种构造成经由中介服务器与特定服务器进行通信的通信设备。
背景技术:
例如,在日本专利申请公布N0.2005-269250中,公开了一种用于对文档进行扫描并且创建图像数据的图像处理设备。该图像处理设备可以将图像数据上载到服务器。
发明内容
本说明书说明了一种通信设备和特定服务器可以适当地传送多个对象数据的技术。本申请公开了一种构造成对通信设备与特定服务器之间的通信起中介作用的中介服务器。该中介服务器可以包括通知接收单元、准备单元以及供应单元。通知接收单元可以被构造成从通信设备接收一个通知。该一个通知可以包括用于标识要在通信设备与特定服务器之间传送的多个对象数据的多个标识信息。准备单元可以被构造成在从通信设备接收到一个通知的情况下,通过利用包括在一个通知中的多个标识信息,来准备与多个对象数据相对应的多个要求创建数据。该多个要求创建数据中的每一个可以是通信设备创建对于通信与要求创建数据相对应的一个对象数据的一个通信要求所需要的数据。该多个要求创建数据中的每一个可以包括与准备要求创建数据的时刻有关的时刻信息。供应单元可以被构造成将多个要求创建数据供应到通信设备。准备单元可以被构造成:准备与多个对象数据当中的第一对象数据相对应的第一要求创建数据;以及在准备了第一要求创建数据之后,在通信设备通过利用第一要求创建数据创建了第一通信要求并且将第一通信要求发送到特定服务器的条件下,准备与多个对象数据当中的第二对象数据相对应的第二要求创建数据。根据上述构造,中介服务器准备第一要求创建数据,并且将该第一要求创建数据供应给通信设备。在这种情况下,通信设备通过利用第一要求创建数据来创建第一通信要求,并且将该第一通信要求发送到特定服务器。然后,中介服务器准备第二要求创建数据。因此,中介服务器可以在适当的时刻准备第二要求创建数据,并且因此第二要求创建数据可以包括适当的时刻信息。因此,通信设备和特定服务器可以适当地传送多个对象数据。准备单元可以被构造成,在通信设备将第一通信要求发送到特定服务器之后,在通信设备与特定服务器之间完成了对第一对象数据的通信的条件下,准备第二要求创建数据。根据这种构造,中介服务器可以在适当的时刻准备第二要求创建数据,并且因此第二要求创建数据可以包括适当的时刻信息。因此,通信设备和特定服务器可以适当地通信多个对象数据。准备单元可以进一步被构造成,在从通信设备接收到一个通知的情况下,将列表发送到通信设备。该列表可以包括在一个通知中所包括的多个标识信息。准备单元可以被构造成:在从通信设备接收到包括用于标识第一对象数据的第一标识信息的第一请求的情况下,准备第一要求创建数据,该第一标识信息是由通信设备从包括在列表中的多个标识信息当中选择的;以及在从通信设备接收到包括用于标识第二对象数据的第二标识信息的第二请求的情况下,准备第二要求创建数据,该第二标识信息是由通信设备从包括在列表中的多个标识信息当中选择的,该第二请求是在通信设备将第一通信要求发送到特定服务器之后从通信设备接收到的请求。根据这个构造,中介服务器可以根据从通信设备接收到的第一请求和第二请求在适当的时刻准备第一要求创建数据和第二要求创建数据。准备单元可以被构造成:在从通信设备接收到第一请求的情况下,通过利用包括在第一请求中的第一标识信息来从特定服务器获得指示在特定服务器内的第一位置的第一位置信息,以便于通过利用第一位置信息来准备第一要求创建数据;以及在从通信设备接收到第二请求的情况下,通过利用包括在第二请求中的第二标识信息来从特定服务器获得指示特定服务器内的第二位置的第二位置信息,以便于通过利用第二位置信息来准备第二要求创建数据。根据这种构造,中介服务器可以通过利用第一位置信息和第二位置信息来适当地准备第一要求创建数据和第二要求创建数据。第一请求可以仅包括在多个标识信息当中的第一标识信息。第二请求可以仅包括在多个标识信息当中的第二标识信息。第一请求可以包括在多个标识信息当中的NI条标识信息。该NI条标识信息可以包括第一标识信息。该NI条标识信息可以是多个标识信息的一部分。NI可以是等于2或更大的整数。第二请求可以包括在多个标识信息当中的N2条标识信息。该N2条标识信息可以包括第二标识信息。该N2条标识信息可以是多个标识信息的一部分。N2可以是等于2或更大的整数。多个要求创建数据中的每一个可以是通信设备创建POST命令的一个通信要求所需要的数据。多个对象数据中的每一个可以是要从特定服务器下载到通信设备的数据。多个对象数据中的每一个可以是从通信设备上载到特定服务器的数据。本申请公开了 一种构造成经由中介服务器与特定服务器进行通信的通信设备。该通信设备可以包括通知发送单元、获得单元、创建单元以及对象数据通信单元。通知发送单元可以被构造成将一个通知发送到中介服务器。一个通知可以包括用于标识要在通信设备与特定服务器之间进行传送的多个对象数据的多个标识信息。中介服务器可以是如下构造的服务器:在从通信设备接收到一个通知的情况下,通过利用包括在这一个通知中的多个标识信息来准备与多个对象数据相对应的多个要求创建数据。多个要求创建数据中的每一个可以是通信设备创建对于通信与要求创建数据相对应的一个对象数据的一个通信要求所需要的数据。多个要求创建数据中的每一个可以包括与准备要求创建数据的时刻有关的时刻信息。获得单元可以被构造成从中介服务器获得多个要求创建数据。创建单元可以被构造成通过利用多个要求创建数据来创建多个通信要求。对象数据通信单元可以被构造成将多个通信要求发送到特定服务器,以便于与特定服务器通信多个对象数据。获得单元可以被构造成:获得与多个对象数据当中的第一对象数据相对应的第一要求创建数据;以及在创建单元通过利用第一要求创建数据创建了第一通信要求并且对象数据通信单元将第一通信要求发送到特定服务器的条件下,在获得第一要求创建数据之后,获得与多个对象数据当中的第二对象数据相对应的第二要求创建数据。根据上述构造,通信设备可以在适当的时刻获得第二要求创建数据。因此,通信设备和特定服务器可以适当地传送多个对象数据。此外,所有用于实现中介服务器的控制方法、计算机程序(也就是说,计算机可读指令)以及存储计算机程序的非临时性计算机可读记录介质也是新颖和实用的。另外,所有用于实现该通信设备的控制方法、计算机程序(也就是说,计算机可读指令)以及存储计算机程序的非临时性计算机可读记录介质也是新颖和有用的。
图1示出了通信系统的构造。图2示出了当执行下载打印时第一实施例的设备所执行的处理的序列图。图3示出了当执行扫描上载时第一实施例的设备所执行的处理的序列图。图4示出了当执行下载打印或扫描上载时比较示例的设备所执行的处理的序列图。图5示出了当执行下载打印时第二实施例的设备所执行的处理的序列图。
具体实施例方式(第一实施例)(系统的构造)如图1所示,通信系统2包括多功能设备10、中介服务器50以及多个服务提供服务器100、110。多功能设备10与LAN 4相连接。中介服务器50和多个服务提供服务器IOOUlO与互联网6相连接。(多功能设备10的构造)多功能设备10能够执行多个功能,诸如打印功能、扫描功能、复印功能、FAX功能等。多功能设备10进一步能够下载存储在服务提供服务器100、110中的图像数据,并且执行用于打印由图像数据所表示的图像的下载打印功能(在下面称作“DL打印功能”)。此外,多功能设备10还能够执行用于将由执行扫描的多功能设备10所创建的图像数据上载到服务提供服务器100、110的扫描上载功能(在下面称作“扫描UL功能”)。多功能设备10包括操作单元12、显示单元14、网络接口 16、打印执行单元18、扫描执行单元20以及控制单元30。操作单元12包括多个键。用户可以通过对操作单元12进行操作来将各种命令输入到多功能设备10。显示单元14是用于显示各种信息的显示器。网络接口 16与LAN4相连接。打印执行单元18是喷墨型或激光型等的打印机构。扫描执行单元20是CXD或CIS等的扫描机构。控制单元30包括CPU 32和存储器34。CPU 32根据存储在存储器34中的程序来执行各种处理。CPU 32根据上述程序执行处理来实现通知发送单元40、获得单元42、创建单元44以及对象数据通信单元46的功能。(中介服务器50的构造)中介服务器50是用于对从服务提供服务器100、110向多功能设备10的服务的提供起中介作用的服务器。中介服务器50是多功能设备10的供应商所提供的服务器。中介服务器50包括网络接口 52和控制单元60。控制单元60包括CPU 62和存储器64。CPU 62根据存储在存储器64中的程序来执行各种处理。由CPU 62根据程序执行处理来实现通知接收单元70、准备单元72以及供应单元74的功能。(服务提供服务器100、110的构造)服务提供服务器100、110中的每一个是已知的云服务器,例如“Evernote (注册商标)”、“G00gle (注册商标)Docs”、“PICASA (注册商标)”、“FACEB00K (注册商标)”等。月艮务提供服务器100、110中的每一个能够向包括多功能设备10的各种通信设备提供服务。例如,服务提供服务器100、110能够执行图像供应服务,通过该图像供应服务将图像数据供应到多功能设备10以使多功能设备10执行DL打印功能。此外,例如,服务提供服务器IOOUlO能够执行图像存储服务,在该图像存储服务中,存储从多功能设备10获得的图像数据以使多功能设备10执行扫描UL功能。此外,服务提供服务器100是第一服务提供商(S卩,第一公司)所提供的服务器,并且服务提供服务器110是与第一服务提供商不同的第二服务提供商(即,第二公司)所提供的服务器。第一服务提供商公开了用于从服务提供服务器100接收服务的第一 API (应用程序接口),并且第二服务提供者公开了用于从服务提供服务器110接收服务的第二 API。因为第一服务提供商和第二服务提供商不同,因此第一 API和第二 A PI通常是不同的。为了从例如服务提供服务器100、110 二者接收服务,通信装置必须与第一 API和第二 API相兼容(即,需要用于使用第一 API的程序以及用于使用第API的程序)。例如,为了使多功能设备10接收从多个服务提供服务器100、110中的每一个接收服务,多功能设备10必须与多个API兼容,并且必须存储许多程序。然而,多功能设备10的存储容量小于PC等的存储容量。因此,在本实施例中,提供中介服务器50,使得多功能设备10可以从多个服务提供服务器100、110中的每一个接收服务,而无需将许多程序存储在多功能设备10中。也就是说,中介服务器50与用于多个服务提供服务器100、110的多个API相兼容。在多功能设备10要从多个服务提供服务器100、110当中的特定服务提供服务器(例如,服务提供服务器100)接收服务的情况下,中介服务器50通过利用用于特定服务提供服务器的API来执行与该特定服务提供服务器的各种通信(将要描述;例如,图2的请求202、210等)。由此,尽管多功能设备10与特定服务提供服务器的API不兼容,该多功能设备10也可以与该特定服务提供服务器通信图像数据。也就是说,尽管多功能设备10没有存储用于使用多个API的许多程序,该多功能设备10也可以从多个服务提供服务器100、110中的每一个接收服务。(多功能设备10的用户的事前准备)为了使多功能设备10从服务提供服务器100、110接收服务,多功能设备10的用户(在下面称作“特定用户”)必须执行以下事前准备。利用例如PC、PDA终端(例如,智能手机)等,特定用户创建关于服务提供服务器100、110的每一个的账户。因此,服务提供服务器100、110中的每一个对特定用户给予访问令牌(通常称作“认证信息”)。特定用户在多功能设备10中注册服务提供服务器100、110所给出的访问令牌。此外,利用PC、PDA终端等,特定用户可以将各种文件(例如图像数据)上载到服务提供服务器100、110。此外,利用PC、PDA终端等,特定用户还可以下载该特定用户已经上载的各种文件。(多功能设备10执行DL打印功能的处理;图2)接下来,参考图2来描述当多功能设备10要执行DL打印功能时设备10、50、100所执行的处理的内容。虽然未示出,但是特定用户对多功能设备10的操作单元12进行操作,以便于选择要从其接收图像供应服务的服务提供服务器。在本实施例中,利用特定用户已经选择了服务提供服务器100的情况作为示例来进行描述。通过对操作单元12进一步进行操作,特定用户从多功能设备10能够执行的多个功能当中选择DL打印功能。在这种情况下,多功能设备10的控制单元30向中介服务器50发送图像ID请求200。此外,在向中介服务器50发送图像ID请求200的阶段或者在更早的阶段,多功能设备10向中介服务器50发送特定用户从服务提供服务器100所接收到的访问令牌(在下面称作“特定访问令牌”)。在接收到来自多功能设备10的图像ID请求200时,中介服务器50的控制单元60将图像ID请求202发送到服务提供服务器100。此外,利用特定访问令牌,在向服务提供服务器100发送图像ID请求202的阶段或在更早的阶段,中介服务器50的控制单元60使得服务提供服务器100执行认证。因此,服务提供服务器100可以响应于从中介服务器50接收到图像ID请求202来向中介服务器50发送适当的响应。此外,在下面,省略了对利用特定访问令牌进行认证的描述。然而,在需要时(例如,每当将请求发送到服务提供服务器100时),中介服务器50都使得服务提供服务器100利用特定访问令牌来执行认证。在本实施例中,假设服务提供服务器100存储了与特定用户的账户相关联的L条图像数据(L是等于2或更大的整数)的状况。此外,在这种状况下,对于L条图像数据中的每一个而言,服务提供服务器100还存储具有比图像数据更小的数据大小的缩略像数据。在接收到来自中介服务器50的图像ID请求202时,服务提供服务器100将用于标识L条图像数据的L个图像ID (例如L条图像数据的文件名)发送到中介服务器50。在从服务提供服务器100接收到L个图像ID时,中介服务器50的控制单元60将L个图像ID发送到多功能设备10。此外,虽然未示出,但是在从中介服务器50接收到L个图像ID时,多功能设备10的控制单元30从服务提供服务器100获得与L条图像数据相对应的L条缩略像数据,并且使得在显示单元14中显示由L条缩略像数据所表示的L个缩略像。由此,特定用户可以对操作单元12进行操作,以从L个缩略像当中选择与下载对象的图像相对应的缩略像。在本实施例中,假设从L个缩略像当中选择了 Ml个缩略像(即,多个缩略像;M1是等于或小于L并且等于或大于2的整数)。例如,特定用户在指定了 Ml个缩略像之后操作OK按钮。由此,多功能设备10的控制单元30根据特定用户的指令来选择Ml个缩略像。本实施例不假设没有同时选择多个缩略像的状况,诸如在已经选择并且打印了一个缩略像之后选择并且打印另一缩略像的情况。替代地,假设同时选择多个(即Ml个)缩略像的状况。此外,同时选择Ml个缩略像等同于同时选择Ml个图像ID。此外,在本实施例中,在多功能设备10中显示L个缩略像。然而,在变型中,可以显示L个图像ID (例如,L条图像数据的文件名)而无需多功能设备10显示L个缩略图。从L个图像ID当中,特定用户可以选择与下载对象的Ml个图像相对应的Ml个图像ID。当同时选择了 Ml个图像ID时,多功能设备10的通知发送单元40 (参见图1)创建包括Ml个图像ID的通知204。此外,公知的一个通信数据一般包括一个报头部分和一个主体部分。不以包括在多个通信数据中的多个主体部分中分布的Ml个图像ID来描述通知204,而是以包括在一个通信数据中的一个主体部分中的所有Ml个图像ID来描述通知204。也就是说,通知204可以被称作一个通知(一个通信数据)。通知发送单元40将通知204发送到中介服务器50。中介服务器50的通知接收单元70(参见图1)接收来自多功能设备10的通知204。在这种情况下,中介服务器50的准备单元72 (参见图1)创建其中描述了包括在通知204中的Ml个图像ID的列表206,并且将该列表206发送到多功能设备10。多功能设备10的获得单元42 (参见图1)接收来自中介服务器50的列表206。在这种情况下,获得单元42从包括在列表206中的Ml个图像ID中选择一个图像ID(在下面称作“第一图像ID”)。接下来,获得单元42创建包括第一图像ID的URL请求208,并且将该URL请求208发送到中介服务器50。也就是说,URL请求208仅包括Ml个图像ID当中的一个图像ID (B卩,第一图像ID)。中介服务器50的准备单元72接收来自多功能设备10的URL请求208。在这种情况下,遵照用于服务提供服务器100的第一 API,准备单元72创建其中描述了包括在URL请求208中的第一图像ID的URL请求210,并且将URL请求210发送到服务提供服务器100。此外,如上所述,在图2的示例中,经由通知204、列表206以及URL请求208的通信来执行对URL请求210的通信。根据RESTful (表述性状态转移,Representational StateTransfer ful)来执行这些通信。然而,在变型中,列表206和URL请求208的通信不需要在已经将通知204从多功能设备10发送到中介服务器50之后执行。在这种情况下,中介服务器50的准备单元72可以从包括在通知204中的Ml个图像ID当中选择第一图像ID,然后可以创建描述第一图像ID的URL请求210,并且将该URL请求210发送到服务提供服务器100。在接收到URL请求210时,服务提供服务器100对下述一个URL(即下载源的URL ;在下面称作“第一 URL”)进行标识,该URL指示与包括在URL请求210中的第一图像ID相对应的一个图像数据216在服务器100中的位置。接下来,服务提供服务器100将第一 URL发送到中介服务器50。中介服务器50的准备单元72通过接收来自服务提供服务器100的第一 URL来获得第一 URL。在这种情况下,根据第一 API,准备单元72准备(S卩,创建)包括第一 URL的模板212。该模板212包括多功能设备10创建HTTP (超文本传输协议)POST命令所需要的数据。在本实施例中,服务提供服务器100将POST命令用作用于触发提供服务(图像供应服务和图像存储服务)的命令。因此,准备单元72准备具有POST命令格式的模板212。此夕卜,在本实施例的POST命令中描述了时间戳。因此,准备单元72准备模板212,该模板212不但包括第一 URL而且还包括指示当前日期和时间(B卩,准备模板212时的日期和时间)的时间戳。准备单元72将模板212发送到多功能设备10,由此将模板212供应到多功能设备10。如上所述,服务提供服务器100使用POST命令。然而,所使用的命令取决于服务提供服务器。例如,服务提供服务器110将GET命令用作用于触发提供服务的命令。如果特定用户期望从服务提供服务器110接收服务,那么准备单元72将根据用于服务提供服务器110的第API来准备GET命令模板。在本实施例的GET命令中没有描述时间戳。因此,当准备GET命令模板时,准备单元72准备不包括时间戳的模板。因而,准备单元72可以根据要执行与多功能设备10的通信的服务提供服务器来创建适当的模板。多功能设备10的获得单元42通过从中介服务器50接收模板212来从中介服务器50获得模板212。在这种情况下,多功能设备10的创建单元44 (参见图1)通过利用模板212来创建POST命令214。具体地,创建单元44通过将多功能设备10的IP地址描述为源地址并且一起利用在模板212中所描述的信息(第一 URL、时间戳等)来创建POST命令214而无需对其进行任何改变。接下来,在不通过中介服务器50的情况下,多功能设备10的对象数据通信单元46 (参见图1)将POST命令214发送到服务提供服务器100。在接收到POST命令214时,服务提供服务器100首先确定在当前日期和时间与包括在POST命令214中的时间戳中所指示的日期和时间之间的差是否大于预定时段。在该差大于预定时段的情况下,服务提供服务器100向多功能设备10发送指示错误的信息。在这种情况下,多功能设备10无法获得图像数据。另一方面,在该差小于预定时段的情况下,在不通过中介服务器50进行中介的情况下,服务提供服务器100将存储在POST命令214中所包含的第一 URL (即,下载源的URL)中的图像数据216发送到多功能设备10。在本实施例中,在不通过中介服务器50进行中介的情况下传送图像数据216,并且因此可以防止通过中介服务器50传送特定用户的私人图像。多功能设备10的对象数据通信单元46接收来自服务提供服务器100的图像数据216。当已经接收到来自服务提供服务器100的所有图像数据216时(B卩,当图像数据216的通信结束时),多功能设备10的控制单元30使得打印执行单元18打印由图像数据216所表示的图像。由此,多功能设备10可以接收来自服务提供服务器100的图像供应服务,并且可以执行DL打印功能。在已经开始对图像数据216所表示的图像的打印之后(此外,这可以在打印已结束之前或之后),多功能设备10的获得单元42从包括在列表206中的Ml个图像ID当中选择一个图像ID (在下面称作“第二图像ID”),这与第一图像ID不同。接下来,获得单元42创建包括第二图像ID的URL请求228,并且将该URL请求228发送到中介服务器50。也就是说,URL请求228仅包括Ml个图像ID当中的一个图像ID (即,第二图像ID)。在已经发送了 URL请求228之后,设备10、50、100的处理与上述相同。也就是说,中介服务器50的准备单元72创建描述第二图像ID的URL请求230,并且将该URL请求230发送到服务提供服务器100,由此从服务提供服务器100接收与第二图像ID相对应的图像数据236的URL (在下面称作“第二 URL”)。接下来,中介服务器50的准备单元72根据第一 API准备(B卩创建)包括第URL的模板232。此外,如从上面描述清楚的是,在多功能设备10已经将POST命令214发送到服务提供服务器100之后,准备单元72准备模板232。更具体地,在已经完成了多功能设备10与服务提供服务器100之间的图像数据216的通信之后,准备单元72准备模板232。因此,由包括在模板232中的时间戳所指示的日期和时间比由包括在模板212中的时间戳所指示的日期和时间更晚。接下来,准备单元72将模板232供应给多功能设备10。接下来,多功能设备10的获得单元42从中介服务器50获得模板232,并且创建单元44通过利用模板232来创建POST命令234。接下来,对象数据通信单元46将POST命令234发送到服务提供服务器100,由此从服务提供服务器100接收图像数据236。因此,控制单元30使得打印执行单元18由打印图像数据236所表示的图像。将URL请求(例如,URL请求208、228)从多功能设备10传送到中介服务器50直至打印图像数据(在上述示例中图像数据216、236)所表示的图像的由设备10、50、100所执行的处理被称作“一组处理”。如上所述,在本实施例中,特定用户同时选择Ml个图像ID。多功能设备10反复地将仅包括一个图像ID的URL请求(例如,URL请求208、228)发送到中介服务器50,逐个下载图像数据。因此,在图2的示例中,总共执行Ml组处理。(多功能设备10执行扫描UL功能的处理;图3)接下来,参考图3描述当多功能设备10要执行扫描UL功能时设备10、50、100所执行的处理的内容。虽然未示出,但是特定用户操作多功能设备10的操作单元12,选择要从其接收图像存储服务的服务提供服务器。在本实施例中,将利用特定用户已经选择了服务提供服务器100的情况作为示例来进行描述。通过对操作单元12进一步进行操作,特定用户从多功能设备10能够执行的多个功能当中选择扫描UL功能。在这种情况下,多功能设备10的控制单元30使得扫描执行单元20扫描文档。在本实施例中,假设对M2张(M2是等于2或更大的整数)文档进行扫描并且创建M2条图像数据的状况。也就是说,本实施例不假设下述情况,在该情况中,通过对一张文档进行扫描以创建一个图像数据,并且然后在将该一个图像数据上载到服务提供服务器100之后对另一张文档进行扫描,创建另一图像数据,来非同时地创建多个图像数据。替代地,假设同时创建M2条图像数据的状况。当已经创建了 M2条图像数据时,多功能设备10的通知发送单元40创建包括与M2条图像数据相对应的M2个图像ID (例如,M2条图像数据的文件名)的一个通知304,并且将该通知304发送到中介服务器50。中介服务器50的通知接收单元70接收来自多功能设备10的通知304。随后的处理基本上与图2的处理相同。也就是说,中介服务器50的准备单元72创建描述包括在通知304中的M2个图像ID的列表306,并且将该列表306发送到多功能设备10。接下来,多功能设备10的获得单元42从包括在列表306中的M2个图像ID当中选择一个图像ID(在下面称作“第三图像ID”)。接下来,获得单元42创建包括第三图像ID的URL请求308,并且将该URL请求308发送到中介服务器50。接下来,中介服务器50的准备单元72根据第一 API来创建描述第三图像ID的URL请求310,并且将该URL请求310发送到服务提供服务器100。在这种情况下,服务提供服务器100向中介服务器50发送URL,该URL指示要存储与包括在URL请求310中的第三图像ID相对应的一个图像数据的服务器100中位置(即,上载目的地的URL ;在下面称作“第三URL”)。接下来,遵照第一 API,中介服务器50的准备单元72准备(B卩,创建)包括第三URL和时间戳的POST命令模板312。供应单元74将模板312供应给多功能设备10。多功能设备10的获得单元42从中介服务器50获得模板312,并且创建单元44通过利用模板312来创建POST命令314。此外,创建单元44通过在POST命令314中描述与第三图像ID相对应的一个图像数据(B卩,通过扫描创建的图像数据)来创建POST命令314。接下来,在不通过中介服务器50进行中介的情况下,对象数据通信单元46将POST命令314发送到服务提供服务器100,由此将图像数据发送到服务提供服务器100。在本实施例中,在不通过中介服务器50进行中介的情况下传送POST命令314,并且因此可以防止通过中介服务器50被传送特定用户的私人图像。在这种情况下,服务提供服务器100将图像数据存储在由第三URL (B卩,上载目的地的URL)所指示的位置处。由此,多功能设备10可以接收来自服务提供服务器100的图像存储服务,并且可以执行扫描UL功能。此外,在可以适当地存储图像数据的情况下,服务提供服务器100将指示OK的信息发送到多功能设备10。在已经接收到来自服务提供服务器100的指示OK的信息之后(即,对图像数据的通信完成之后),多功能设备10的获得单元42从包括在列表306中的M2个图像ID当中选择一个图像ID (在下面称作“第四图像ID”),这与第三图像ID不同。接下来,获得单元42创建包括第四图像ID的URL请求328,并且将该URL请求328发送到中介服务器50。在已经发送了 URL请求328之后,设备10、50、100的处理与上述相同。也就是说,中介服务器50的准备单元72创建描述第四图像ID的URL请求330,并且将该URL请求330发送到服务提供服务器100,由此从服务提供服务器100接收与第四图像ID相对应的图像数据的URL (在下面称作“第四URL”)。接下来,遵照第一 API,中介服务器50的准备单元72准备(即,创建)包括第四URL和时间戳的模板332。此外,如从上述描述清楚的是,在多功能设备10将POST命令314发送到服务提供服务器100之后,准备单元72准备模板332。更具体地,在多功能设备10与服务提供服务器100之间的与第三图像ID相对应的一个图像数据的通信(POST命令314的通信)完成之后,准备单元72准备模板332。供应单元74将模板332供应给多功能设备10。接下来,多功能设备10的获得单元42从中介服务器50获得模板332,并且创建单元44通过利用模板332来创建包括与第四图像ID相对应的一个图像数据的POST命令334。接下来,对象数据通信单元46将POST命令334发送到服务提供服务器100,由此将图像数据发送到服务提供服务器100。因此,服务提供服务器100将图像数据存储在第四URL所指示的位置处,并且将指示OK的信息发送到多功能设备10。将URL请求(例如,URL请求308、328)从多功能设备10传送到中介服务器50直至将指示OK的信息从服务提供服务器100传送到多功能设备10的设备10、50、100所执行的处理被称作“一组处理”。如上所述,在本实施例中,同时创建M2条图像数据。多功能设备10反复地将仅包括一个图像ID的URL请求(例如,URL请求308、328)发送到中介服务器50,逐个上载图像数据。因此,在图3的示例中,总共执行M2组处理。(本实施例的效果)在图4的比较示例中,当从多功能设备接收到包括M3个图像ID (M3是等于2或更大的整数)的一个通知时,中介服务器将包括M3个图像ID的URL请求发送到服务提供服务器,由此从服务提供服务器接收M3个URL (其中的每一个都可以是下载源的URL或上载目的地的URL)。接下来,中介服务器通过利用M3个URL来准备M3个模板,并且将该M3个模板供应给多功能设备。在这种情况下,多功能设备顺序地使用M3个模板来顺序地创建M3条POST命令,并且将M3条POST命令顺序地发送到服务提供服务器。然而,在比较示例中,基本上同时准备M3个模板,并且因此包括在每个模板中的时间戳示出了基本上相同的日期和时间。在这些M3个模板内,在多功能设备10中比较晚使用的模板在准备模板的时刻与发送利用该模板创建的POST命令的时刻之间可能具有大的时间差。因此,当接收到M3条POST命令当中比较晚发送的POST命令时,服务提供服务器可以确定在当前日期和时间与包括POST命令中的时间戳中所示出的日期和时间之间的差大于预定时段。在这种情况下,服务提供服务器确定该时间戳是无效的,并且向多功能设备10发送指示错误的信息。也就是说,多功能设备无法下载或上载图像数据。具体地,M3的值越大,该事件越容易出现。相比之下,在本实施例中,如图2和图3所示,在多功能设备10通过利用模板212(或312)创建了 POST命令214 (或314)并且将POST命令214 (或314)发送到服务提供服务器100之后,中介服务器50准备模板232 (或332)。因此,能够防止在准备模板232 (或332)的时刻与发送通过利用模板232 (或332)创建的POST命令234 (或334)的时刻之间出现大的时间差。因此,能够防止服务提供服务器100确定时间戳是无效的。也就是说,中介服务器50可以在适当的时刻准备模板232 (或332),并且因此模板232 (或332)包括服务提供服务器100不容易确定为无效的适当的时间戳。因此,多功能设备10和服务提供服务器100可以适当地执行对多个图像数据的通信(下载或上载)。(对应关系)多功能设备10和服务提供服务器100分别是“通信设备”和“特定服务器”的示例。Ml个图像ID (或M2个图像ID)是“多个标识信息”的示例。Ml条图像数据(或M2条图像数据)是“多个对象数据”的示例。模板212、232 (或者模板312、332)是“多个要求创建数据”的示例。此外,POST命令214、234 (或者POST命令314、334)是“通信要求”的示例。例如,第一图像ID、URL请求208、第一 URL、图像数据216、模板212以及POST命令214分别是“第一标识信息”、“第一请求”、“第一位置信息”、“第一对象数据”、“第一要求创建数据”以及“第一通信要求”的示例。此外,第二图像ID、URL请求228、第URL、图像数据236以及模板232分别是“第二标识信息”、“第二请求”、“第二位置信息”、“第二对象数据”、“第二要求创建数据”以及“第二通信要求”的示例。(第二实施例)将参考图5来描述使第二实施例的多功能设备10执行DL打印功能的处理。通知404和列表406的通信与图2的通知204和列表206的通信相同。多功能设备10的获得单元42选择N个图像ID (N是等于或大于2并且小于Ml的整数),这些是包括在列表406中的Ml个图像ID的一部分,并且将包括N个图像ID的URL请求408发送到中介服务器50。接下来,中介服务器50的准备单元72创建描述N个图像ID的URL请求410,并且将URL请求410发送到服务提供服务器100,由此从服务提供服务器100接收与N个图像ID相对应的N条图像数据416-1、416-2的URL。接下来,遵照第一 API,准备单元72利用N个URL来准备(S卩,创建)N个模板412。此外,包括在该N个模板412中的时间戳所示出的日期和时间基本上是相同的。准备单元72将该N个模板412供应给多功能设备10。多功能设备10的获得单元42从中介服务器50获得N个模板412,并且创建单元44通过利用N个模板412当中的一个模板来创建POST命令414-1。对象数据通信单元46将POST命令414-1发送到服务提供服务器100,由此从服务提供服务器100接收图像数据416-1。因此,控制单元30使得打印执行单元18打印由图像数据416-1所表示的图像。接下来,创建单元44通过利用N个模板412当中的另一模板来创建POST命令414-2。对象数据通信单元46将POST命令414-2发送到服务提供服务器100,由此从服务提供服务器100接收图像数据416-2。因此,控制单元30使得打印执行单元18由打印图像数据416-2所表示的图像。该处理被重复N次。也就是说,多功能设备10从服务提供服务器100下载N条图像数据,并且打印N个图像。将URL请求(例如,URL请求408)从多功能设备10传送到中介服务器50直至打印N个图像的设备10、50、100所执行的处理被称作“一组处理”。在第一组处理结束时,多功能设备10的获得单元42选择作为包括在列表406中的Ml个图像ID的一部分的另外N个图像ID (即,与在第一组中所选择的N个图像ID不同的N个图像ID),并且将包括N个图像ID的URL请求发送到中介服务器50。由此,执行第二组处理。如上所述,在本实施例中,特定用户同时选择M2个图像ID。从多功能设备10对中介服务器50的URL请求(例如,URL请求408)包括N个图像ID。因此,在图5的示例中,总共执行M1/N组处理。此外,按照与图5的示例相同的方式执行使多功能设备10执行扫描UL功能的处理。例如,在执行扫描的多功能设备10同时创建M2条图像数据的情况下,多功能设备10选择作为M2个图像ID的一部分的N个图像ID,并且将包括N个图像ID的URL请求发送到中介服务器50。因此,在第一组处理中,多功能设备10可以将N条图像数据上载到服务提供服务器100。然后,多功能设备10选择作为M2个图像ID的一部分的后续N个图像ID,并且将包括这N个图像ID的URL请求发送到中介服务器50。因此,在第二组处理中,多功能设备10可以将N条图像数据上载到服务提供服务器100。(本实施例的效果)在本实施例中,如图5所示,在第一组处理中,多功能设备10通过利用N个模板412来创建N个POST命令414-1、414-2,并且将该N个POST命令414-1、414_2发送到服务提供服务器100。然后,接着,在第二组处理中,中介服务器50准备接下来的N个模板。因此,能够防止在第二组处理中准备模板的时刻与发送通过利用该模板创建的POST命令的时刻之间存在大的时间差。因此,能够防止服务提供服务器100确定时间戳是无效的。结果,多功能设备10和服务提供服务器100可以适当地执行对多个图像数据的通信(下载或上载)。(对应关系)在第一组处理中所发送的URL请求408 (在下面称作“第一组的URL请求”)中所包括的N个图像ID是“NI个标识信息”的示例。在第二组处理中所发送的URL请求(在下面称作“第二组的URL请求”)中包含的N个图像ID是“N2个标识信息”的示例。此外,在上述实施例中,在第一组的URL请求中包含的图像ID的数目(N个)与在第二组的URL请求中包含的图像ID的数目(N个)是相同的。然而,在变型中,前者图像ID的数目与后者图像ID的数目可以不同。此外,第一组的URL请求和第二组的URL请求分别是“第一请求”和“第二请求”的示例。此外,在第一组的URL请求中包含的N个图像ID当中的一个图像ID以及在第二组的URL请求中包含的N个图像ID当中的一个图像ID分别是“第一标识信息”和“第二标识信息”的示例。(变型I)“通信设备”不限于多功能设备10,而可以是另一类型的通信设备(例如PC、服务器、PDA、移动终端、打印机、扫描仪、电话、FAX设备、复印机等)。此外,“特定服务器”不限于提供云服务的服务提供服务器100,而可以是与“通信设备”执行数据传送的另一类型的服务器(例如,对图像数据执行图像处理的服务器)。此外,“对象数据”不限于图像数据,而可以是另一类型的数据(例如,可以是通过文字处理软件创建的数据或者通过电子表格软件创建的数据)。(变型2)在上述实施例中,如例如在图2中所示的,在通过多功能设备10将POST命令214发送到服务提供服务器100而完成多功能设备10与服务提供服务器100之间的图像数据216的传送的状况下,中介服务器50的准备单元72准备模板232。替代地,在多功能设备10已将POST命令214发送到服务提供服务器100之后并且在对图像数据216的传送结束之前,准备单元72可以准备模板232。为了实现本变型,例如,在正在从服务提供服务器100下载图像数据216的同时,多功能设备10的获得单元42可以将URL请求228发送到多功能设备10。一般地说,在通信设备已将第一通信要求发送到特定服务器的状况下,中介服务器50的准备单元72可以准备第二要求创建数据。此外,在已将第一通信要求发送到特定服务器的状况下,多功能设备10的获得单元42可以从中介服务器获得第二要求创建数据。(变型3)在上述实施例中,中介服务器50的准备单元72准备多功能设备10创建POST命令所必需的模板(例如图2的模板212)。然而,准备单元72可以准备多功能设备10创建另一类型的命令(例如GET命令)所必需的模板。一般地说,中介服务器50的准备单元72可以准备包括时间信息的要求创建数据。此外,多功能设备10的创建单元44可以通过利用要求创建数据来创建通信要求。(变型4)在上述实施例中,模板包括示出了准备模板的日期和时间的时间戳。替代地,模板可以包括仅示出了准备模板的日期的时间戳,或者可以包括仅示出了准备模板的时间的时间戳。此外,模板可以包括示出了已将预定时间加到准备模板的日期和时间上的日期和时间(即指示模板的有效期的日期和时间)的时间戳。此外,“时刻信息”并不局限于具有称谓“时间戳”的信息,而可以是具有另一称谓的信息。一般地说,“时刻信息”可以是与准备要求创建数据的时刻有关的任何信息。(变型5)在第二实施例中,中介服务器50的准备单元72准备N个模板412。替代地,中介服务器50的准备单元72可以创建一个模板以及将在该模板中描述的N条信息(在这里N条信息包括例如N个URL和一个时间戳)。在这种情况下,多功能设备10的创建单元44可以在一个模板中描述N条信息当中的一个信息,由此创建POST命令414-1,并且可以将N条信息当中的另一信息描述到这一个模板中,由此创建POST命令414-2。在本变型中,N条信息是“要求创建数据”的示例。(变型6)在上述实施例中,单元40至46、70至74的功能是通过多功能设备10和中介服务器50的CPU 32、62根据软件执行处理来实现的。替代的,单元40至46、70至74的功能的至少一部分可以通过诸如逻辑电路等的硬件来实现的。
权利要求
1.一种中介服务器,所述中介服务器被构造成对在通信设备与特定服务器之间的通信起中介作用,所述中介服务器包括: 通知接收单元,所述通知接收单元被构造成从所述通信设备接收一个通知,所述一个通知包括多个标识信息,所述多个标识信息用于标识要在所述通信设备与所述特定服务器之间进行通信的多个对象数据; 准备单元,所述准备单元被构造成在从所述通信设备接收到所述一个通知的情况下,通过利用包括在所述一个通知中的所述多个标识信息来准备与所述多个对象数据相对应的多个要求创建数据,所述多个要求创建数据中的每一个是所述通信设备创建对于通信与所述要求创建数据相对应的一个对象数据的一个通信要求所需要的数据,并且所述多个要求创建数据中的每一个都包括与准备所述要求创建数据的时刻有关的时刻信息;以及供应单元,所述供应单元被构造成将所述多个要求创建数据供应给所述通信设备, 其中,所述准备单元被构造成: 准备与所述多个对象数据当中的第一对象数据相对应的第一要求创建数据;并且在准备了所述第一要求创建数据之后,在所述通信设备通过利用所述第一要求创建数据而创建了第一通信要求并且将所述第一通信要求发送到所述特定服务器的条件下,准备与所述多个对象数据当中的第二对象数据相对应的第二要求创建数据。
2.根据权利要求1所述的中介服务器,其中, 所述准备单元被构造成在所述通信设备将所述第一通信要求发送到所述特定服务器之后,在所述通信设备与所述特定服务器之间完成了对所述第一对象数据的通信的条件下,准备所述第二要求创建数据。
3.根据权利要求1所述的中介服务器,其中, 所述准备单元进一步被构造成在从所述通信设备接收到所述一个通知的情况下,向所述通信设备发送列表,所述列表包括在所述一个通知中所包括的所述多个标识信息, 所述准备单元被构造成: 在从所述通信设备接收到包括用于标识所述第一对象数据的第一标识信息的第一请求的情况下,准备所述第一要求创建数据,所述第一标识信息是由所述通信设备从包括在所述列表中的所述多个标识信息当中选择的;并且 在从所述通信设备接收到包括用于标识所述第二对象数据的第二标识信息的第二请求的情况下,准备所述第二要求创建数据,所述第二标识信息是由所述通信设备从包括在所述列表中的所述多个标识信息当中选择的,所述第二请求是在所述通信设备将所述第一通信要求发送到所述特定服务器之后从所述通信设备接收到的请求。
4.根据权利要求3所述的中介服务器,其中, 所述准备单元被构造成: 在从所述通信设备接收到所述第一请求的情况下,通过利用包括在所述第一请求中的所述第一标识信息来从所述特定服务器获得指示在所述特定服务器内的第一位置的第一位置信息,以便于通过利用所述第一位置信息来准备所述第一要求创建数据;并且 在从所述通信设备接收到所述第二请求的情况下,通过利用包括在所述第二请求中的所述第二标识信息来从所述特定服务器获得指示在所述特定服务器内的第二位置的第二位置信息,以便于通过利用所述第二位置信息来准备所述第二要求创建数据。
5.根据权利要求3所述的中介服务器,其中, 所述第一请求仅包括在所述多个标识信息当中的所述第一标识信息,并且 所述第二请求仅包括在所述多个标识信息当中的所述第二标识信息。
6.根据权利要求3所述的中介服务器,其中, 所述第一请求包括在所述多个标识信息当中的NI条标识信息,所述NI条标识信息包括所述第一标识信息,所述NI条标识信息是所述多个标识信息的一部分,并且NI是等于2或更大的整数,并且 所述第二请求包括在所述多个标识信息当中的N2条标识信息,所述N2条标识信息包括所述第二标识信息,所述N2条标识信息是所述多个标识信息的一部分,并且N2是等于2或更大的整数。
7.根据权利要求1所述的中介服务器,其中, 所述多个要求创建数据中的每一个是所述通信设备创建POST命令的一个通信要求所需要的数据。
8.根据权利要求1所述的中介服务器,其中, 所述多个对象数据中的每一个是要从所述特定服务器下载到所述通信设备的数据。
9.根据权利要求1所述的中介服务器,其中, 所述多个对象数据中的每一个是要从所述通信设备上载到所述特定服务器的数据。
10.一种通信设备,所述通信设备被构造成经由中介服务器与特定服务器进行通信,所述通信设备包括: 通知发送单元,所述通知发送单元被构造成将一个通知发送到所述中介服务器,所述一个通知包括多个标识信息,所述多个标识信息用于标识要在所述通信设备与所述特定服务器之间进行通信的多个对象数据,所述中介服务器是下述服务器,所述服务器被构造成在从所述通信设备接收到所述一个通知的情况下,通过利用包括在所述一个通知中的所述多个标识信息来准备与所述多个对象数据相对应的多个要求创建数据,所述多个要求创建数据中的每一个是所述通信设备创建对于通信与所述要求创建数据相对应的一个对象数据的一个通信要求所需要的数据,并且所述多个要求创建数据中的每一个都包括与准备所述要求创建数据的时刻有关的时刻信息; 获得单元,所述获得单元被构造成从所述中介服务器获得所述多个要求创建数据; 创建单元,所述创建单元被构造成通过利用所述多个要求创建数据来创建多个通信要求;以及 对象数据通信单元,所述对象数据通信单元被构造成将所述多个通信要求发送到所述特定服务器,以便于与所述特定服务器通信所述多个对象数据, 其中,所述获得单元被构造成: 获得与所述多个对象数据当中的第一对象数据相对应的第一要求创建数据;并且 在获得所述第一要求创建数据之后,在所述通信设备通过利用所述第一要求创建数据创建了第一通信要求并且将所述第一通信要求发送到所述特定服务器的条件下,获得与所述多个对象数据当中的第二对象数据相对应的第二要求创建数据。
11.一种由中介服务器执行的方法,所述中介服务器被构造成对在通信设备与特定服务器之间的通信起中介作用,所述方法包括:从所述通信设备接收一个通知,所述一个通知包括多个标识信息,所述多个标识信息用于标识要在所述通信设备与所述特定服务器之间进行通信的多个对象数据; 在从所述通信设备接收到所述一个通知的情况下,通过利用包括在所述一个通知中的所述多个标识信息来准备与所述多个对象数据相对应的多个要求创建数据,所述多个要求创建数据中的每一个是所述通信设备创建对于通信与所述要求创建数据相对应的一个对象数据的一个通信要求所需要的数据,并且所述多个要求创建数据中的每一个都包括与准备所述要求创建数据的时刻有关的时刻信息;以及将所述多个要求创建数据供应给所述通信设备, 其中,所述准备所述多个要求创建数据的步骤包括: 准备与所述多个对象数据当中的第一对象数据相对应的第一要求创建数据;以及在准备了所述第一要求创建数据之后,在所述通信设备通过利用所述第一要求创建数据而创建了第一通信要求并且将所述第一通信要求发送到所述特定服务器的条件下,准备与所述多个对象数据当中的第二对`象数据相对应的第二要求创建数据。
全文摘要
本发明涉及一种中介服务器和通信设备。中介服务器可以从通信设备接收一个通知。该一个通知可以包括用于标识要在通信设备与特定服务器之间进行通信的多个对象数据的多个标识信息。中介服务器可以准备与多个对象数据相对应的多个要求创建数据,并且将该多个要求创建数据供应给通信设备。多个要求创建数据中的每一个可以是通信设备创建一个通信要求所需要的数据,并且包括与准备要求创建数据的时刻有关的时刻信息。中介服务器可以准备第一要求创建数据,并且然后在通信设备通过利用第一要求创建数据创建了第一通信要求并且将第一通信要求发送到特定服务器的条件下准备第二要求创建数据。
文档编号H04N1/00GK103139413SQ20121036157
公开日2013年6月5日 申请日期2012年9月25日 优先权日2011年11月24日
发明者长崎健史 申请人:兄弟工业株式会社