US20140258468A1 - Relay apparatus, client apparatus, and computer-readable medium - Google Patents
Relay apparatus, client apparatus, and computer-readable medium Download PDFInfo
- Publication number
- US20140258468A1 US20140258468A1 US14/053,916 US201314053916A US2014258468A1 US 20140258468 A1 US20140258468 A1 US 20140258468A1 US 201314053916 A US201314053916 A US 201314053916A US 2014258468 A1 US2014258468 A1 US 2014258468A1
- Authority
- US
- United States
- Prior art keywords
- display
- content
- storage
- service
- identifier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
Definitions
- the present invention relates to a relay apparatus, a client apparatus, and a computer-readable medium.
- a service called a cloud service or cloud computing is known.
- a service for example, servers on a network, instead of client apparatuses, perform various types of information processing, such as data storage and data format conversion.
- a technique has been proposed in which communication is relayed between a server and client apparatuses.
- a relay apparatus including a storage, a request data reception unit, a mode data reception unit, a specified condition conversion unit, a request data transmission unit, a content identifier reception unit, a generation unit, and a display data transmission unit.
- the storage stores a service identifier, access destination information, and a conversion routine which are associated with each other, for each of multiple storage services.
- the service identifier is an identifier for identifying the storage service.
- the access destination information indicates information used to access a server which provides the storage service.
- the conversion routine indicates a rule for converting a format of a specified condition indicating a condition used to specify one or more pieces of content between a format used in the server providing the storage service and a format used in a client apparatus.
- the request data reception unit receives a service identifier and a specified condition as request data from the client apparatus.
- the mode data reception unit receives mode data for specifying a display format used when the client apparatus displays a search result according to the specified condition received by the request data reception unit.
- the specified condition conversion unit converts the specified condition received by the request data reception unit into a format used in the server, in accordance with a conversion routine stored in the storage in such a manner that the conversion routine is associated with the service identifier received by the request data reception unit.
- the request data transmission unit transmits the specified condition obtained through the conversion performed by the specified condition conversion unit, as request data in accordance with access destination information stored in the storage in such a manner that the access destination information is associated with the service identifier received by the request data reception unit.
- the content identifier reception unit receives a content identifier transmitted from the server as a response to the request data transmitted by the request data transmission unit.
- the generation unit generates display data indicating an instruction to display the content identifier received by the content identifier reception unit in the display format specified by the mode data received by the mode data reception unit.
- the display data transmission unit transmits the display data generated by the generation unit, as a response to the request data received by the request data reception unit to the client apparatus.
- FIG. 1 is a block diagram illustrating the overall configuration of a communication system
- FIG. 2A is a diagram illustrating the hardware configuration of a relay apparatus
- FIG. 2B is a diagram illustrating an exemplary management table
- FIG. 3 is a diagram illustrating the hardware configuration of a storage service providing apparatus
- FIG. 4 is a diagram illustrating the hardware configuration of a client apparatus
- FIG. 5 is a diagram illustrating the hardware configuration of an image output device
- FIG. 6 is a diagram illustrating a functional configuration of the relay apparatus and the client apparatus
- FIG. 7 is a diagram illustrating an exemplary screen for inputting a search condition
- FIG. 8 is a diagram illustrating an exemplary screen for setting a display mode
- FIG. 9 is a diagram for describing an operation of searching for content
- FIG. 10 is a diagram illustrating an exemplary screen showing search results
- FIG. 11 is a diagram illustrating an exemplary screen showing search results
- FIG. 12 is a diagram illustrating an exemplary screen showing search results
- FIG. 13 is a diagram illustrating an exemplary screen showing search results
- FIG. 14 is a diagram illustrating an exemplary screen showing search results
- FIG. 15 is a diagram illustrating an exemplary screen showing search results
- FIG. 16 is a diagram illustrating an exemplary screen for setting a display mode
- FIG. 17 is a diagram illustrating an exemplary screen for setting a display mode
- FIG. 18 is a diagram illustrating an exemplary screen for setting a display mode
- FIG. 19 is a diagram illustrating an exemplary screen for setting a display mode
- FIG. 20 is a diagram for describing an operation of outputting content.
- FIG. 21 is a diagram for describing an operation of outputting content.
- FIG. 1 is a block diagram illustrating the overall configuration of a communication system 1 according to an exemplary embodiment of the present invention.
- the communication system 1 includes a relay apparatus 10 , storage service providing apparatuses 20 a , 20 b , and 20 c , a client apparatus 30 , an image output device 40 , a wide area network (WAN) 50 , and a local area network (LAN) 60 .
- the storage service providing apparatuses 20 a , 20 b , and 20 c are apparatuses, each of which provides a so-called storage service.
- the WAN 50 is a communication line in a wide area which connects the relay apparatus 10 , the storage service providing apparatuses 20 a , 20 b , and 20 c , and the LAN 60 to each other, and which transfers information transmitted and received between these.
- the WAN 50 is, for example, the Internet.
- the LAN 60 is a communication line which is connected to the client apparatus 30 and the image output device 40 , and which transfers information transmitted and received between these and the WAN 50 .
- a gateway server (not illustrated) connected to the WAN 50 is provided for the LAN 60 .
- the gateway server permits communication from an apparatus connected to the LAN 60 (hereinafter, referred to as a LAN 60 side apparatus) to an apparatus connected to the WAN 50 (hereinafter, referred to as a WAN 50 side apparatus).
- the gateway server permits only responses to communication requested by the LAN 60 side apparatus, and interrupts communication other than the responses. That is, the gateway server functions as a so-called firewall.
- the client apparatus 30 is connected to the LAN 60 , and is an apparatus for receiving a user operation and specifying output of content indicated by the operation to the relay apparatus 10 .
- the client apparatus 30 is, for example, a smartphone or a tablet personal computer.
- the relay apparatus 10 is connected to the WAN 50 , and is an apparatus for providing requested content to the image output device 40 .
- the relay apparatus 10 receives the specification from the client apparatus 30 , and obtains the content indicated by the specification from either of the storage service providing apparatuses 20 a , 20 b , and 20 c .
- the relay apparatus 10 stores the obtained content in itself, and notifies the client apparatus 30 of the uniform resource identifier (URI) which indicates the storage location of the content.
- URI uniform resource identifier
- the storage service providing apparatuses 20 a , 20 b , and 20 c are servers connected to the WAN 50 , and store content.
- the storage service providing apparatuses 20 a , 20 b , and 20 c receive a request to obtain content, from the relay apparatus 10 , and provide the requested content to the relay apparatus 10 .
- the storage service providing apparatuses 20 a , 20 b , and 20 c receive/transmit data from/to another apparatus in different formats.
- each of the storage service providing apparatuses 20 a , 20 b , and 20 c has a similar hardware configuration, and performs a similar operation.
- each of the storage service providing apparatuses 20 a , 20 b , and 20 c is called a storage service providing apparatus 20 .
- the image output device 40 obtains the URI transmitted from the relay apparatus 10 to the client apparatus 30 , from the client apparatus 30 .
- the image output device 40 uses the obtained URI to request the content stored in the storage area indicated by the URI, from the relay apparatus 10 .
- the relay apparatus 10 provides the content to the image output device 40 .
- the image output device 40 outputs the content provided from the relay apparatus 10 .
- the image output device 40 is, for example, an electrophotographic image forming apparatus, and outputs the content by forming an image indicated by the content on a medium such as paper.
- FIG. 2A is a diagram illustrating the configuration of the relay apparatus 10 .
- a controller 11 includes an arithmetic and logic unit such as a central processing unit (CPU) and main storages, such as a read only memory (ROM) and a random access memory (RAM).
- the arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or a storage unit 13 , thereby controlling operations of units of the relay apparatus 10 .
- a communication unit 12 is an interface for communicating via the WAN 50 to another apparatus.
- the storage unit 13 is a storage device such as a hard disk, and stores data and programs which are used by the controller 11 .
- the storage unit 13 has a management table storage area 14 .
- the management table storage area 14 stores information for accessing the storage service providing apparatuses 20 .
- FIG. 2B is a diagram illustrating an exemplary management table.
- items “SVC identifier”, “access destination”, “identifier conversion routine”, and “conditional expression conversion routine” are stored in the table in such a manner as to be associated with each other.
- a service identifier for identifying a storage service is stored in the item “SVC identifier”.
- Access destination information indicating information for accessing a storage service providing apparatus 20 which provides a storage service is stored in the item “access destination”.
- a URI is stored as access destination information.
- An identifier conversion routine (exemplary conversion routine) indicating rules for converting the format of a content identifier identifying content and the format of a folder identifier (exemplary specified condition) identifying a folder between the format used in a storage service providing apparatus 20 and the format used in the client apparatus 30 is stored in the item “identifier conversion routine”.
- identifier conversion routine it is assumed that each storage service uses a different format for a content identifier and a folder identifier.
- a service identifier “service-A” is associated with an identifier conversion routine “ConvertForA( )”.
- conditional expression conversion routine indicating a rule for converting the format of a specified condition indicating a condition for specifying one or more pieces of content between the format used in a storage service providing apparatus 20 and the format used in the client apparatus 30 is stored in the item “conditional expression conversion routine”.
- the relay apparatus 10 and the client apparatus 30 receive/transmit data from/to each other in a format which is independent of data formats defined in the storage services.
- the “identifier conversion routine” is used to convert a content identifier and a folder identifier described in a format used in data communication between the client apparatus 30 and the relay apparatus 10 into identifiers in a format corresponding to each of the storage services.
- the “conditional expression conversion routine” is used to convert a conditional expression described in a format used in data communication between the client apparatus 30 and the relay apparatus 10 into a conditional expression in a format corresponding to each of the storage services.
- FIG. 3 is a diagram illustrating the configuration of a storage service providing apparatus 20 .
- a controller 21 includes an arithmetic and logic unit such as a CPU and main storages, such as a ROM and a RAM.
- the arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or a storage unit 23 , thereby controlling operations of units of the storage service providing apparatus 20 .
- a communication unit 22 is an interface for communicating via the WAN 50 to another apparatus.
- the storage unit 23 is a storage device such as a hard disk, and stores data and programs which are used by the controller 21 .
- the storage unit 23 includes a content database 24 which stores content associated with information indicating the storage location of the content. Responding to a request from the relay apparatus 10 , the controller 21 reads out content from the content database 24 and provides it.
- content is used as a term representing data indicating various documents, images, and the like, such as document data representing a document or image data representing an image. Other than these, for example, “content” may be a computer program, and a set of data is called “content”.
- the content database 24 includes a table in which URIs such as “http://z**.com/C001” are described, as information indicating the storage location of content. Each URI is associated with a storage area for content.
- FIG. 4 is a diagram illustrating the hardware configuration of the client apparatus 30 .
- a controller 31 includes an arithmetic and logic unit such as a CPU and main storages, such as a ROM and a RAM.
- the ROM stores programs executed by the arithmetic and logic unit.
- the arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or a storage unit 35 , thereby controlling operations of units of the client apparatus 30 .
- a communication unit 32 is an interface for communicating via the LAN 60 to another apparatus.
- An operation unit 33 includes operators, such as various keys and a touch sensor, and supplies an operation signal corresponding to a user operation to the controller 31 .
- the controller 31 performs processing corresponding to the operation signal.
- a display unit 34 includes a liquid crystal panel and a liquid-crystal driving circuit, and displays an image under the control performed by the controller 31 .
- the storage unit 35 is a storage device such as a hard disk, and stores data and programs which are used by the controller 31 .
- FIG. 5 is a diagram illustrating the hardware configuration of the image output device 40 .
- a controller 41 includes an arithmetic and logic unit such as a CPU and main storages, such as a ROM and a RAM.
- the ROM stores programs executed by the arithmetic and logic unit.
- the arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or a storage unit 47 , thereby controlling operations of units of the image output device 40 .
- a communication unit 42 is an interface for communicating via the LAN 60 to another apparatus.
- An operation unit 43 includes operators, such as various keys and a touch sensor, and supplies an operation signal corresponding to a user operation to the controller 41 .
- the controller 41 performs processing corresponding to the operation signal.
- a display unit 44 includes a liquid crystal panel and a liquid-crystal driving circuit, and displays an image under the control performed by the controller 41 .
- An image forming unit 45 forms an image by using an electrophotographic system.
- An image reading unit 46 optically reads out an image on a document.
- the storage unit 47 is a storage device such as a hard disk, and stores data and programs which are used by the controller 41 .
- FIG. 6 is a diagram illustrating a functional configuration of the relay apparatus 10 and the client apparatus 30 .
- the relay apparatus 10 causes the controller 11 , or the controller 11 and the communication unit 12 , to achieve functions of a request data reception unit 111 , a mode data reception unit 112 , a specified condition conversion unit 113 , a request data transmission unit 114 , a content identifier reception unit 115 , a generation unit 116 , and a display data transmission unit 117 .
- the request data reception unit 111 receives service identifiers and a specified condition from the client apparatus 30 as request data.
- a folder identifier for specifying a folder and a conditional expression for specifying a search condition are used as specified conditions.
- the mode data reception unit 112 receives mode data for specifying a display format used when the client apparatus 30 displays search results according to the specified condition received by the request data reception unit 111 .
- the specified condition conversion unit 113 converts the specified condition received by the request data reception unit 111 into the formats used in storage service providing apparatuses 20 in accordance with conversion routines stored in the management table storage area 14 in such a manner that the conversion routines are associated with the service identifiers received by the request data reception unit 111 .
- the request data transmission unit 114 transmits the specified conditions obtained through conversion performed by the specified condition conversion unit 113 , as request data in accordance with access destination information stored in the management table storage area 14 in such a manner that the access destination information is associated with the service identifiers received by the request data reception unit 111 .
- the content identifier reception unit 115 receives content identifiers transmitted from the storage service providing apparatuses 20 as responses to the request data which has been transmitted by the request data transmission unit 114 .
- the generation unit 116 generates display data instructing that the content identifiers received by the content identifier reception unit 115 be displayed in the display format specified by the mode data received by the mode data reception unit 112 .
- the display data transmission unit 117 transmits the display data generated by the generation unit 116 to the client apparatus 30 as a response to the request data received by the request data reception unit 111 .
- the client apparatus 30 causes the controller 31 , or the controller 31 and the communication unit 32 , to achieve functions of an acquisition unit 131 , a request data transmission unit 132 , a mode data transmission unit 133 , a display data reception unit 134 , and a display controller 135 .
- the acquisition unit 131 acquires service identifiers for identifying storage services, a specified condition indicating a condition for specifying one or more pieces of content, and a display format of search results according to the specified condition, in accordance with a user operation.
- the request data transmission unit 132 transmits the service identifiers and the specified condition acquired by the acquisition unit 131 to the relay apparatus 10 as request data.
- the mode data transmission unit 133 transmits the mode data acquired by the acquisition unit 131 to the relay apparatus 10 .
- the display data reception unit 134 receives display data which instructs that content identifiers for identifying content be displayed, and which is transmitted from the relay apparatus 10 as a response to the request data which has been transmitted by the request data transmission unit 132 .
- the display controller 135 causes the display unit 34 to display content identifiers in accordance with the display data received by the display data reception unit 134 .
- An exemplary operation according to the exemplary embodiment will be described.
- An operation of searching storage services specified by a user for content will be described.
- the storage service provided by the storage service providing apparatus 20 a is called “storage service A”
- the storage service provided by the storage service providing apparatus 20 b is called “storage service B”.
- the user U operates the operation unit 33 to transmit an instruction to search for content.
- the controller 31 of the client apparatus 30 first displays a screen for inputting a search condition on the display unit 34 in accordance with information which is output from the operation unit 33 .
- FIG. 7 is a diagram illustrating an exemplary screen for inputting a search condition, which is displayed on the display unit 34 .
- text boxes for specifying a keyword and date and time, check boxes for selecting storage services to be searched, and the like are displayed.
- the user U operates the operation unit 33 to transmit an instruction to search the storage service A and the storage service B for content whose file name is “abc”.
- the controller 31 of the client apparatus 30 then displays a screen for selecting a display mode (display format of search results) on the display unit 34 .
- FIG. 8 is a diagram illustrating an exemplary screen displayed on the display unit 34 .
- radio buttons RB1, RB2, etc. for selecting how to display search results are displayed on the screen.
- a screen for selecting either of display modes “not specified (display on content-by-content basis)”, “not specified (display on service-by-service basis)”, “specify display order (display on service-by-service basis)”, “specify display order (display on content-by-content basis)”, “combine above display rules”, and “display the number of hits on service-by-service basis” as a display mode for search results is displayed.
- FIG. 9 is a diagram illustrating a flow of a content search operation according to the exemplary operation.
- the controller 31 of the client apparatus 30 transmits search request data and data indicating the display mode specified by the user U (hereinafter, referred to as “mode data”) to the relay apparatus 10 in accordance with information which is output from the operation unit 33 (in step S 31 ).
- the search request data includes service identifiers for identifying storage services and a conditional expression indicating a search condition.
- the controller 11 of the relay apparatus 10 receives the search request data and the mode data from the client apparatus 30 , the controller 11 of the relay apparatus 10 refers to the stored data in the management table storage area 14 to specify conditional expression conversion routines corresponding to the service identifiers included in the received search request data.
- the controller 11 of the relay apparatus 10 uses the specified conditional expression conversion routines to convert the conditional expression included in the received search request data into conditional expressions in the formats used in the storage services (in step S 32 ).
- the controller 11 uses access destination information corresponding to the service identifiers included in the search request data received in step S 31 , to transmit search request data to the storage service providing apparatuses 20 (in steps S 33 -A and S 33 -B).
- the controller 11 transmits an HTTP GET request in which “http://www.serviceA/search/Name/abc” is specified as a URI to the storage service providing apparatus 20 a .
- a storage service providing apparatus 20 uses the conditional expression specified by the received search request data to search for content, and transmits a content list obtained through searching to the relay apparatus 10 (in steps S 34 -A and S 34 -B).
- a storage service providing apparatus 20 uses a content identifier in the format predetermined in the storage service for the storage service providing apparatus 20 .
- the storage service providing apparatus 20 a transmits “http://www.serviceA/doc/3210” and “http://www.serviceA/doc/9876” as content identifiers to the relay apparatus 10 .
- the storage service providing apparatus 20 b transmits “http://www.serviceB/doc-ABC” as a content identifier to the relay apparatus 10 .
- the controller 11 of the relay apparatus 10 receives content lists from the storage service providing apparatuses 20 , the controller 11 of the relay apparatus 10 generates data (display data) indicating an instruction to display a screen as illustrated in FIG. 10 in accordance with the display mode “not specified (display on content-by-content basis)” specified by the mode data received in step S 31 , and transmits the generated data to the client apparatus 30 (in step S 35 ).
- the client apparatus 30 displays a display screen for search results (list of content identifiers, i.e., content names) as illustrated in FIG. 10 in accordance with the display data transmitted from the relay apparatus 10 .
- the client apparatus 30 displays a screen (see FIG. 8 ) for prompting the user U to select a display aspect (display mode) of search results on the display unit 34 .
- the storage service providing apparatuses 20 are different in processing speed, communication speed, and the like, and the time period required for searching depends on each of the storage service providing apparatuses 20 . Therefore, search results for content are transmitted from the storage service providing apparatuses 20 at different timings depending on the storage service providing apparatuses 20 . Accordingly, in the exemplary embodiment, the user U sets how to display search results which are transmitted at different timings.
- the display modes one of which the user U is allowed to select in the screen for selecting a display mode illustrated in FIG. 8 , will be described below.
- the mode “not specified (display on content-by-content basis)” is a mode in which search results for content from the storage service providing apparatuses 20 are displayed one by one in the order of receipt of the search results.
- FIG. 10 is a diagram illustrating an exemplary display aspect of search results obtained when the mode “not specified (display on content-by-content basis)” is selected.
- pieces of content obtained through searching are displayed in a list in the order of receipt of search results.
- pieces of content in a search result received at an early timing are displayed on an upper side of the list.
- pieces of content received as a search result transmitted later are sequentially added to the end of the list.
- the mode “not specified (display on service-by-service basis)” is a mode in which search results are displayed on a storage-service-by-storage-service basis in the order of receipt of the search results.
- FIG. 11 is a diagram illustrating an exemplary display screen showing search results in this mode.
- search results are displayed on a storage-service-by-storage-service basis in the order of receipt of the search results.
- a storage service from which a search result is received at an early timing is displayed on an upper side of the list.
- the search result from the service is sequentially added to the end of the list and displayed.
- the mode “specify display order (display on service-by-service basis)” indicates a mode in which a user U specifies a display order on a service-by-service basis.
- FIG. 12 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated in FIG. 12 , search results are displayed on a storage-service-by-storage-service basis in the order specified by the user U.
- the mode “specify display order (display on content-by-content basis)” indicates a mode in which a user U specifies a display order on a content-by-content basis.
- FIG. 13 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated in FIG. 13 , pieces of content obtained through searching are displayed in the order specified by the user U (for example, in ascending order of content name, or in ascending order of save date and time).
- the mode “combine above display rules” indicates a mode in which a user U specifies a display order for some pieces of content or some storage services.
- FIG. 14 is a diagram illustrating an exemplary display screen showing search results in this mode.
- FIG. 14 illustrates an example in which a user U specifies a display order for some storage services and also specifies “creation date of content (ascending order)” used as a display order of the content obtained through search of the services, and in which search results are displayed on a storage-service-by-storage-service basis in the specified order by sorting the pieces of content obtained through the search of the storage services, in ascending order of creation date.
- storage services for which a display order is not specified are sequentially added to the end of the list in the order of receipt of the search results and displayed.
- the mode “display the number of hits on service-by-service basis” indicates a mode in which the number of pieces of content obtained through searching is displayed on a storage-service-by-storage-service basis.
- FIG. 15 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated in FIG. 15 , the number of pieces of content obtained through searching is displayed for each of the storage services.
- a user U selects either of the modes.
- the controller 31 When either of the modes “not specified (display on content-by-content basis)”, “not specified (display on service-by-service basis)”, and “display the number of hits on service-by-service basis” is selected, the controller 31 generates mode data indicating the selected mode.
- the mode “specify display order (display on service-by-service basis)” is selected, the controller 31 displays a screen for specifying a display order of the storage services as illustrated in FIG. 16 .
- buttons 281 and 282 for specifying a display order of the storage services are displayed on a screen 280 .
- the user U presses the buttons 281 and 282 , and specifies a display order of the storage services.
- the controller 31 When the user U specifies a display order, the controller 31 generates mode data indicating the display order specified by the user U.
- the controller 31 displays a screen for specifying a display order of content as illustrated in FIG. 17 .
- a screen 290 illustrated in FIG. 17 choices “content name (ascending order)”, “save date and time of content”, and the like are displayed as display orders for content, and the user U uses the operation unit 33 to select either of the displayed display orders.
- the controller 31 determines a display aspect of search results in accordance with information which is output from the operation unit 33 , and generates mode data indicating the determined display aspect.
- the controller 31 displays a screen for selecting a combination of rules as illustrated in FIG. 18 .
- the user U uses the operation unit 33 to select a combination of rules.
- the controller 31 determines a combination of rules in accordance with information which is output from the operation unit 33 , and displays a screen for specifying a display order of content or services as illustrated in FIG. 19 , on the display unit 34 .
- a screen 310 for specifying a display order for some services is displayed.
- the user U uses buttons 312 and 313 to specify a display order of storage services.
- the controller 31 When the user U specifies a display order, the controller 31 generates mode data indicating the display order specified by the user U. As described above, the mode data generated by the controller 31 in accordance with the setting of a display mode performed by the user U is transmitted to the relay apparatus 10 in step S 31 in FIG. 9 .
- the relay apparatus 10 receives the mode data indicating a display mode from the client apparatus 30 , the relay apparatus 10 stores it in a predetermined storage area of the relay apparatus 10 , and generates data that is to be transmitted to the client apparatus 30 , in accordance with the mode data.
- the controller 11 of relay apparatus 10 receives search results from the storage service providing apparatuses 20 (in steps 934 -A and S 34 -B in FIG. 9 ), the controller 11 of relay apparatus 10 generates data indicating a screen on which the search results are displayed, in accordance with the mode data stored in the relay apparatus 10 , and transmits the generated data to the client apparatus 30 (in step S 35 in FIG. 9 ).
- the controller 11 of the relay apparatus 10 when the mode “not specified (display on content-by-content basis)” is selected by the user U, the controller 11 of the relay apparatus 10 generates data indicating the screen as illustrated in FIG. 10 , and transmits the generated data to the client apparatus 30 .
- the client apparatus 30 displays the screen showing the search results on the display unit 34 in accordance with the data received from the relay apparatus 10 .
- the controller 11 When the user U selects the mode “display the number of hits on service-by-service basis”, the controller 11 generates data indicating a screen as illustrated in FIG. 15 , and transmits the generated data to the client apparatus 30 .
- the client apparatus 30 displays a screen as illustrated in FIG. 15 on the display unit 34 in accordance with the data received from the relay apparatus 10 .
- the controller 31 displays a content list indicating the search result of a storage service corresponding to the selected button on the display unit 34 in accordance with the data indicating the search results received from the relay apparatus 10 .
- the search results for content are transmitted from the storage service providing apparatuses 20 at different timings depending on the storage service providing apparatuses 20 , and a time lag may occur. Therefore, in the exemplary embodiment, at predetermined time intervals, the relay apparatus 10 generates data in which search results which have been received from storage service providing apparatuses 20 at that time are reflected, and transmits the data to the client apparatus 30 every time the data is generated. Every time the client apparatus 30 receives data from the relay apparatus 10 , the client apparatus 30 updates the screen displayed on the display unit 34 . Therefore, the screen displayed on the display unit 34 is continuously updated at predetermined time intervals.
- the user U uses the operation unit 33 to select a piece of content from the list displayed on the display unit 34 .
- the client apparatus 30 transmits an output instruction to output the selected content, to the relay apparatus 10 in accordance with information which is output from the operation unit 33 (in step S 11 ).
- the output instruction includes either of the content identifiers displayed in the content list.
- the controller 11 of the relay apparatus 10 obtains content corresponding to the content identifier included in the received output instruction from the storage service providing apparatus 20 , stores it in itself, and transmits a URI (acquisition destination information) indicating the storage location of the content to the client apparatus 30 (in step S 12 ).
- the controller 11 performs a preparative process for obtaining the content which has been obtained from the storage service providing apparatus 20 (in step S 13 ).
- the controller 11 converts the content into the data format in which the image output device 40 is capable of displaying content.
- the acquisition destination information transmitted in step S 12 indicates a storage area for the content obtained through conversion.
- the client apparatus 30 transmits the received acquisition destination information to the image output device 40 , thereby notifying the image output device 40 of the acquisition destination information of the content (in step S 14 ).
- the image output device 40 accesses the storage location indicated by the received acquisition destination information (in step S 15 ).
- the relay apparatus 10 transmits the content stored in the accessed storage location (in step S 16 ).
- the image output device 40 outputs an image represented by the content transmitted from the relay apparatus 10 by using the image forming unit 45 (in step S 17 ).
- the controller 41 , the operation unit 43 , and the display unit 44 of the image output device 40 may perform the processes performed by the controller 31 , the operation unit 33 , and the display unit 34 of the client apparatus 30 .
- An operation in which a user uses the image output device 40 to search storage services for content is similar to the operation using the client apparatus 30 illustrated in FIG. 9 .
- An operation of outputting content will be described with reference to FIG. 21 .
- a user U uses the operation unit 43 of the image output device 40 to select a piece of content from a list displayed on the display unit 44 .
- the image output device 40 transmits a request to output the selected piece of content, to the relay apparatus 10 in accordance with information which is output from the operation unit 43 (in step S 21 ).
- the output request includes either of the content identifiers displayed in the content list.
- the controller 11 of the relay apparatus 10 receives the output request from the image output device 40 , the controller 11 of the relay apparatus 10 generates a URI (acquisition destination information) indicating a content storage location corresponding to the received output request, and transmits it to the image output device 40 (in step S 22 ).
- the controller 11 requests a storage service providing apparatus 20 to obtain content corresponding to the content identifier included in the received output request, and obtains content corresponding to the content identifier from the storage service providing apparatus 20 (in step S 23 ).
- the image output device 40 receives acquisition destination information of the content from the relay apparatus 10 , the image output device 40 periodically accesses the URI indicated by the received acquisition destination information, and checks if print data has been generated (in step S 24 ).
- the controller 11 of the relay apparatus 10 converts content obtained from the storage service providing apparatus 20 into print data in a format in which the image output device 40 is capable of outputting data, and stores the print data generated through conversion in the storage location indicated by the URI of the acquisition destination information.
- the image output device 40 periodically accesses the storage location indicated by the URI of the received acquisition destination information.
- the image output device 40 obtains the print data from the storage location (in step S 25 ).
- the image output device 40 outputs image data representing the content on the basis of the print data obtained from the relay apparatus 10 , by using the image forming unit 45 (in step S 26 ).
- the timing at which a display mode is set is not limited to that in the above-described exemplary embodiment.
- a configuration may be employed in which mode data indicating a display mode which is set by a user is stored in a predetermined storage area in the storage unit 35 of the client apparatus 30 , and the controller 31 may refer to the mode data stored in the storage area to specify the display mode.
- a user simply sets a display mode once, and it is not necessary to set a mode every time searching is to be performed.
- the user may change the display mode at a desired timing.
- the controller 31 changes the mode data in accordance with information which is output from the operation unit 33 .
- a mode may be set at a timing at which the client apparatus is turned on.
- a default of the display mode may be predetermined. When a user does not select a display mode, the controller 31 may refer to the predetermined default and determine the display mode.
- the relay apparatus 10 may store mode data transmitted by the client apparatus 30 to the relay apparatus 10 .
- the relay apparatus 10 may generate display data in accordance with the mode data stored in advance. In this case also, it is not necessary for a user to set the mode every time searching is to be performed.
- the configuration is employed in which a screen displaying search results is updated at predetermined time intervals.
- the display aspect of search results is not limited to this, and the relay apparatus 10 may wait until all search results are received from the storage service providing apparatuses 20 , and may transmit the search results to the client apparatus 30 at a time.
- the mode in which the display order is specified on a service-by-service basis, the mode in which the display order is specified on a content-by-content basis, and the like are taken as exemplary display modes for search results.
- the display modes are not limited to those in the above-described exemplary embodiment, and modes indicating other display aspects may be employed.
- the controller 11 of the relay apparatus 10 generates data (display data) indicating a screen displaying search results from the storage services, and transmits it to the client apparatus 30 .
- the present invention is not limited to this, and the controller 31 of the client apparatus 30 may generate data indicating a screen displaying search results.
- the controller 11 of the relay apparatus 10 (exemplary content identifier conversion unit and content identifier transmission unit) converts content identifiers received from storage service providing apparatuses 20 , in accordance with identifier conversion routines corresponding to the storage service providing apparatuses 20 which are read out from the management table (see FIG. 2B ), and transmits a list of the content identifiers obtained through the conversion to the client apparatus 30 .
- the client apparatus 30 may display the content identifiers indicating the search results received from the relay apparatus 10 , in accordance with the display mode which has been set by a user.
- a timeout may be set for the process of searching a storage service providing apparatus 20 .
- a user may set a timeout period by using the operation unit 33 .
- the relay apparatus 10 may transmit data indicating search results which have been received at that time point, to the client apparatus 30 .
- the relay apparatus 10 transmits search results one by one which are received from the storage service providing apparatuses 20 , to the client apparatus 30 , after the time period which is set by the user has elapsed, it is possible for the relay apparatus 10 not to receive search results from the storage service providing apparatuses 20 , or not to transmit received search results to the client apparatus 30 .
- the configuration of the communication system 1 is not limited to the configuration described in the above-described exemplary embodiment.
- the number of units included in the communication system 1 may be different from the number of units in the exemplary embodiment.
- the example is described in which the communication system 1 is provided with one image output device 40 .
- the number of image output devices 40 is not limited to one, and may be more than one.
- one storage service providing apparatus provides one storage service.
- the present invention is not limited to this, and multiple servers may provide one storage service.
- the case where three storage services are provided is described.
- the number of storage services are not limited to three, and may be more than or less than three.
- the client apparatus 30 and the image output device 40 are separately provided. Alternatively, these units may be integrated into one unit.
- the configuration is employed in which a service identifier for identifying a storage service and access destination information indicating information used to access a storage service providing apparatus 20 are separately used.
- the present invention is not limited to this, and a service identifier and access destination information may be unified into one piece of data.
- a configuration may be employed in which a URI used to access a storage service providing apparatus 20 is used to identify a storage service.
- the image output device 40 described in the above-described exemplary embodiment is an exemplary apparatus to which the relay apparatus 10 provides a service.
- This apparatus may be another apparatus, such as a personal computer (PC), a tablet PC, or a cellular phone.
- a program executed in the relay apparatus 10 , the storage service providing apparatuses 20 , the client apparatus 30 , or the image output device 40 may be downloaded via a communication line such as the Internet.
- the program may be provided by recording the program in a computer-readable recording medium, such as a magnetic recording medium (for example, a magnetic tape or a magnetic disk), an optical recording medium (for example, an optical disk), a magneto-optical recording medium, or a semiconductor memory.
Abstract
A relay apparatus includes a storage, request data reception and transmission units, a mode data reception unit, a specified condition conversion unit, a content identifier reception unit, a generation unit, and a display data transmission unit. The storage stores a service identifier, access destination information, and a conversion routine for the format of a specified condition specifying content, for each of storage services. The request data reception unit receives a service identifier and a specified condition from a client apparatus. The mode data reception unit receives mode data specifying a client apparatus display format. The specified condition conversion unit converts the specified condition into a server format, which is transmitted by the request data transmission unit using access destination information. The content identifier reception unit receives content identifiers from the server, for which the generation unit generates display data. The display data transmission unit transmits it to the client apparatus.
Description
- This application is based on and claims priority under 35 USC 119 from Japanese Patent Application No. 2013-043210 filed Mar. 5, 2013.
- (i) Technical Field
- The present invention relates to a relay apparatus, a client apparatus, and a computer-readable medium.
- (ii) Related Art
- A service called a cloud service or cloud computing is known. In such a service, for example, servers on a network, instead of client apparatuses, perform various types of information processing, such as data storage and data format conversion. In the field of such a service, a technique has been proposed in which communication is relayed between a server and client apparatuses.
- According to an aspect of the present invention, there is provided a relay apparatus including a storage, a request data reception unit, a mode data reception unit, a specified condition conversion unit, a request data transmission unit, a content identifier reception unit, a generation unit, and a display data transmission unit. The storage stores a service identifier, access destination information, and a conversion routine which are associated with each other, for each of multiple storage services. The service identifier is an identifier for identifying the storage service. The access destination information indicates information used to access a server which provides the storage service. The conversion routine indicates a rule for converting a format of a specified condition indicating a condition used to specify one or more pieces of content between a format used in the server providing the storage service and a format used in a client apparatus. The request data reception unit receives a service identifier and a specified condition as request data from the client apparatus. The mode data reception unit receives mode data for specifying a display format used when the client apparatus displays a search result according to the specified condition received by the request data reception unit. The specified condition conversion unit converts the specified condition received by the request data reception unit into a format used in the server, in accordance with a conversion routine stored in the storage in such a manner that the conversion routine is associated with the service identifier received by the request data reception unit. The request data transmission unit transmits the specified condition obtained through the conversion performed by the specified condition conversion unit, as request data in accordance with access destination information stored in the storage in such a manner that the access destination information is associated with the service identifier received by the request data reception unit. The content identifier reception unit receives a content identifier transmitted from the server as a response to the request data transmitted by the request data transmission unit. The generation unit generates display data indicating an instruction to display the content identifier received by the content identifier reception unit in the display format specified by the mode data received by the mode data reception unit. The display data transmission unit transmits the display data generated by the generation unit, as a response to the request data received by the request data reception unit to the client apparatus.
- Exemplary embodiments of the present invention will be described in detail based on the following figures, wherein:
-
FIG. 1 is a block diagram illustrating the overall configuration of a communication system; -
FIG. 2A is a diagram illustrating the hardware configuration of a relay apparatus; -
FIG. 2B is a diagram illustrating an exemplary management table; -
FIG. 3 is a diagram illustrating the hardware configuration of a storage service providing apparatus; -
FIG. 4 is a diagram illustrating the hardware configuration of a client apparatus; -
FIG. 5 is a diagram illustrating the hardware configuration of an image output device; -
FIG. 6 is a diagram illustrating a functional configuration of the relay apparatus and the client apparatus; -
FIG. 7 is a diagram illustrating an exemplary screen for inputting a search condition; -
FIG. 8 is a diagram illustrating an exemplary screen for setting a display mode; -
FIG. 9 is a diagram for describing an operation of searching for content; -
FIG. 10 is a diagram illustrating an exemplary screen showing search results; -
FIG. 11 is a diagram illustrating an exemplary screen showing search results; -
FIG. 12 is a diagram illustrating an exemplary screen showing search results; -
FIG. 13 is a diagram illustrating an exemplary screen showing search results; -
FIG. 14 is a diagram illustrating an exemplary screen showing search results; -
FIG. 15 is a diagram illustrating an exemplary screen showing search results; -
FIG. 16 is a diagram illustrating an exemplary screen for setting a display mode; -
FIG. 17 is a diagram illustrating an exemplary screen for setting a display mode; -
FIG. 18 is a diagram illustrating an exemplary screen for setting a display mode; -
FIG. 19 is a diagram illustrating an exemplary screen for setting a display mode; -
FIG. 20 is a diagram for describing an operation of outputting content; and -
FIG. 21 is a diagram for describing an operation of outputting content. -
FIG. 1 is a block diagram illustrating the overall configuration of acommunication system 1 according to an exemplary embodiment of the present invention. Thecommunication system 1 includes arelay apparatus 10, storageservice providing apparatuses client apparatus 30, animage output device 40, a wide area network (WAN) 50, and a local area network (LAN) 60. The storageservice providing apparatuses relay apparatus 10, the storageservice providing apparatuses LAN 60 to each other, and which transfers information transmitted and received between these. The WAN 50 is, for example, the Internet. - The
LAN 60 is a communication line which is connected to theclient apparatus 30 and theimage output device 40, and which transfers information transmitted and received between these and theWAN 50. A gateway server (not illustrated) connected to the WAN 50 is provided for theLAN 60. The gateway server permits communication from an apparatus connected to the LAN 60 (hereinafter, referred to as aLAN 60 side apparatus) to an apparatus connected to the WAN 50 (hereinafter, referred to as aWAN 50 side apparatus). In contrast, for communication from aWAN 50 side apparatus to aLAN 60 side apparatus, the gateway server permits only responses to communication requested by theLAN 60 side apparatus, and interrupts communication other than the responses. That is, the gateway server functions as a so-called firewall. - The
client apparatus 30 is connected to theLAN 60, and is an apparatus for receiving a user operation and specifying output of content indicated by the operation to therelay apparatus 10. Theclient apparatus 30 is, for example, a smartphone or a tablet personal computer. - The
relay apparatus 10 is connected to theWAN 50, and is an apparatus for providing requested content to theimage output device 40. Therelay apparatus 10 receives the specification from theclient apparatus 30, and obtains the content indicated by the specification from either of the storageservice providing apparatuses relay apparatus 10 stores the obtained content in itself, and notifies theclient apparatus 30 of the uniform resource identifier (URI) which indicates the storage location of the content. - The storage
service providing apparatuses WAN 50, and store content. The storageservice providing apparatuses relay apparatus 10, and provide the requested content to therelay apparatus 10. The storageservice providing apparatuses service providing apparatuses service providing apparatuses service providing apparatuses service providing apparatuses service providing apparatus 20. - The
image output device 40 obtains the URI transmitted from therelay apparatus 10 to theclient apparatus 30, from theclient apparatus 30. Theimage output device 40 uses the obtained URI to request the content stored in the storage area indicated by the URI, from therelay apparatus 10. Receiving the request, therelay apparatus 10 provides the content to theimage output device 40. Theimage output device 40 outputs the content provided from therelay apparatus 10. Theimage output device 40 is, for example, an electrophotographic image forming apparatus, and outputs the content by forming an image indicated by the content on a medium such as paper. -
FIG. 2A is a diagram illustrating the configuration of therelay apparatus 10. InFIG. 2A , acontroller 11 includes an arithmetic and logic unit such as a central processing unit (CPU) and main storages, such as a read only memory (ROM) and a random access memory (RAM). The arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or astorage unit 13, thereby controlling operations of units of therelay apparatus 10. Acommunication unit 12 is an interface for communicating via theWAN 50 to another apparatus. Thestorage unit 13 is a storage device such as a hard disk, and stores data and programs which are used by thecontroller 11. Thestorage unit 13 has a managementtable storage area 14. The managementtable storage area 14 stores information for accessing the storageservice providing apparatuses 20. -
FIG. 2B is a diagram illustrating an exemplary management table. As illustrated inFIG. 2B , items “SVC identifier”, “access destination”, “identifier conversion routine”, and “conditional expression conversion routine” are stored in the table in such a manner as to be associated with each other. Among these items, a service identifier for identifying a storage service is stored in the item “SVC identifier”. Access destination information indicating information for accessing a storageservice providing apparatus 20 which provides a storage service is stored in the item “access destination”. In the exemplary embodiment, a URI is stored as access destination information. An identifier conversion routine (exemplary conversion routine) indicating rules for converting the format of a content identifier identifying content and the format of a folder identifier (exemplary specified condition) identifying a folder between the format used in a storageservice providing apparatus 20 and the format used in theclient apparatus 30 is stored in the item “identifier conversion routine”. In the exemplary embodiment, it is assumed that each storage service uses a different format for a content identifier and a folder identifier. In the example illustrated inFIG. 2B , for example, a service identifier “service-A” is associated with an identifier conversion routine “ConvertForA( )”. A conditional expression conversion routine (exemplary conversion routine) indicating a rule for converting the format of a specified condition indicating a condition for specifying one or more pieces of content between the format used in a storageservice providing apparatus 20 and the format used in theclient apparatus 30 is stored in the item “conditional expression conversion routine”. - The
relay apparatus 10 and theclient apparatus 30 receive/transmit data from/to each other in a format which is independent of data formats defined in the storage services. The “identifier conversion routine” is used to convert a content identifier and a folder identifier described in a format used in data communication between theclient apparatus 30 and therelay apparatus 10 into identifiers in a format corresponding to each of the storage services. The “conditional expression conversion routine” is used to convert a conditional expression described in a format used in data communication between theclient apparatus 30 and therelay apparatus 10 into a conditional expression in a format corresponding to each of the storage services. -
FIG. 3 is a diagram illustrating the configuration of a storageservice providing apparatus 20. InFIG. 3 , acontroller 21 includes an arithmetic and logic unit such as a CPU and main storages, such as a ROM and a RAM. The arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or astorage unit 23, thereby controlling operations of units of the storageservice providing apparatus 20. Acommunication unit 22 is an interface for communicating via theWAN 50 to another apparatus. Thestorage unit 23 is a storage device such as a hard disk, and stores data and programs which are used by thecontroller 21. - The
storage unit 23 includes acontent database 24 which stores content associated with information indicating the storage location of the content. Responding to a request from therelay apparatus 10, thecontroller 21 reads out content from thecontent database 24 and provides it. In the exemplary embodiment, “content” is used as a term representing data indicating various documents, images, and the like, such as document data representing a document or image data representing an image. Other than these, for example, “content” may be a computer program, and a set of data is called “content”. In the exemplary embodiment, thecontent database 24 includes a table in which URIs such as “http://z**.com/C001” are described, as information indicating the storage location of content. Each URI is associated with a storage area for content. -
FIG. 4 is a diagram illustrating the hardware configuration of theclient apparatus 30. InFIG. 4 , acontroller 31 includes an arithmetic and logic unit such as a CPU and main storages, such as a ROM and a RAM. The ROM stores programs executed by the arithmetic and logic unit. The arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or astorage unit 35, thereby controlling operations of units of theclient apparatus 30. Acommunication unit 32 is an interface for communicating via theLAN 60 to another apparatus. Anoperation unit 33 includes operators, such as various keys and a touch sensor, and supplies an operation signal corresponding to a user operation to thecontroller 31. Thecontroller 31 performs processing corresponding to the operation signal. Adisplay unit 34 includes a liquid crystal panel and a liquid-crystal driving circuit, and displays an image under the control performed by thecontroller 31. Thestorage unit 35 is a storage device such as a hard disk, and stores data and programs which are used by thecontroller 31. -
FIG. 5 is a diagram illustrating the hardware configuration of theimage output device 40. InFIG. 5 , acontroller 41 includes an arithmetic and logic unit such as a CPU and main storages, such as a ROM and a RAM. The ROM stores programs executed by the arithmetic and logic unit. The arithmetic and logic unit uses the RAM as a work area and executes programs stored in the ROM or astorage unit 47, thereby controlling operations of units of theimage output device 40. Acommunication unit 42 is an interface for communicating via theLAN 60 to another apparatus. Anoperation unit 43 includes operators, such as various keys and a touch sensor, and supplies an operation signal corresponding to a user operation to thecontroller 41. Thecontroller 41 performs processing corresponding to the operation signal. Adisplay unit 44 includes a liquid crystal panel and a liquid-crystal driving circuit, and displays an image under the control performed by thecontroller 41. Animage forming unit 45 forms an image by using an electrophotographic system. Animage reading unit 46 optically reads out an image on a document. Thestorage unit 47 is a storage device such as a hard disk, and stores data and programs which are used by thecontroller 41. -
FIG. 6 is a diagram illustrating a functional configuration of therelay apparatus 10 and theclient apparatus 30. Therelay apparatus 10 causes thecontroller 11, or thecontroller 11 and thecommunication unit 12, to achieve functions of a requestdata reception unit 111, a modedata reception unit 112, a specifiedcondition conversion unit 113, a requestdata transmission unit 114, a contentidentifier reception unit 115, ageneration unit 116, and a displaydata transmission unit 117. The requestdata reception unit 111 receives service identifiers and a specified condition from theclient apparatus 30 as request data. In the exemplary embodiment, a folder identifier for specifying a folder and a conditional expression for specifying a search condition are used as specified conditions. The modedata reception unit 112 receives mode data for specifying a display format used when theclient apparatus 30 displays search results according to the specified condition received by the requestdata reception unit 111. - The specified
condition conversion unit 113 converts the specified condition received by the requestdata reception unit 111 into the formats used in storageservice providing apparatuses 20 in accordance with conversion routines stored in the managementtable storage area 14 in such a manner that the conversion routines are associated with the service identifiers received by the requestdata reception unit 111. The requestdata transmission unit 114 transmits the specified conditions obtained through conversion performed by the specifiedcondition conversion unit 113, as request data in accordance with access destination information stored in the managementtable storage area 14 in such a manner that the access destination information is associated with the service identifiers received by the requestdata reception unit 111. - The content
identifier reception unit 115 receives content identifiers transmitted from the storageservice providing apparatuses 20 as responses to the request data which has been transmitted by the requestdata transmission unit 114. Thegeneration unit 116 generates display data instructing that the content identifiers received by the contentidentifier reception unit 115 be displayed in the display format specified by the mode data received by the modedata reception unit 112. The displaydata transmission unit 117 transmits the display data generated by thegeneration unit 116 to theclient apparatus 30 as a response to the request data received by the requestdata reception unit 111. - The
client apparatus 30 causes thecontroller 31, or thecontroller 31 and thecommunication unit 32, to achieve functions of anacquisition unit 131, a requestdata transmission unit 132, a modedata transmission unit 133, a displaydata reception unit 134, and adisplay controller 135. Theacquisition unit 131 acquires service identifiers for identifying storage services, a specified condition indicating a condition for specifying one or more pieces of content, and a display format of search results according to the specified condition, in accordance with a user operation. The requestdata transmission unit 132 transmits the service identifiers and the specified condition acquired by theacquisition unit 131 to therelay apparatus 10 as request data. The modedata transmission unit 133 transmits the mode data acquired by theacquisition unit 131 to therelay apparatus 10. The displaydata reception unit 134 receives display data which instructs that content identifiers for identifying content be displayed, and which is transmitted from therelay apparatus 10 as a response to the request data which has been transmitted by the requestdata transmission unit 132. Thedisplay controller 135 causes thedisplay unit 34 to display content identifiers in accordance with the display data received by the displaydata reception unit 134. - An exemplary operation according to the exemplary embodiment will be described. An operation of searching storage services specified by a user for content will be described. In the description below, the storage service provided by the storage
service providing apparatus 20 a is called “storage service A”, and the storage service provided by the storageservice providing apparatus 20 b is called “storage service B”. In the example below, an operation performed when a user U searches the storage service A and the storage service B for content by specifying a conditional expression (Name=abc) will be described. - The user U operates the
operation unit 33 to transmit an instruction to search for content. Thecontroller 31 of theclient apparatus 30 first displays a screen for inputting a search condition on thedisplay unit 34 in accordance with information which is output from theoperation unit 33. -
FIG. 7 is a diagram illustrating an exemplary screen for inputting a search condition, which is displayed on thedisplay unit 34. In the example inFIG. 7 , text boxes for specifying a keyword and date and time, check boxes for selecting storage services to be searched, and the like are displayed. The user U operates theoperation unit 33 to transmit an instruction to search the storage service A and the storage service B for content whose file name is “abc”. - The
controller 31 of theclient apparatus 30 then displays a screen for selecting a display mode (display format of search results) on thedisplay unit 34. -
FIG. 8 is a diagram illustrating an exemplary screen displayed on thedisplay unit 34. As illustrated inFIG. 8 , radio buttons RB1, RB2, etc. for selecting how to display search results are displayed on the screen. In the exemplary embodiment, a screen for selecting either of display modes “not specified (display on content-by-content basis)”, “not specified (display on service-by-service basis)”, “specify display order (display on service-by-service basis)”, “specify display order (display on content-by-content basis)”, “combine above display rules”, and “display the number of hits on service-by-service basis” as a display mode for search results is displayed. - The display modes illustrated in
FIG. 8 will be described in detail in the description “Operation of Displaying Search Results” described below. - When the user U selects a display mode, the
communication system 1 starts a series of processes of searching content.FIG. 9 is a diagram illustrating a flow of a content search operation according to the exemplary operation. When the user U inputs a search condition and a display mode, thecontroller 31 of theclient apparatus 30 transmits search request data and data indicating the display mode specified by the user U (hereinafter, referred to as “mode data”) to therelay apparatus 10 in accordance with information which is output from the operation unit 33 (in step S31). The search request data includes service identifiers for identifying storage services and a conditional expression indicating a search condition. Specifically, in the exemplary operation, thecontroller 31 transmits the search request data including “id:svc:service-A” and “id:svc:service-B” as service identifiers and “Name=abc” as a conditional expression, and mode data indicating “not specified (display on content-by-content basis)”. - Receiving the search request data and the mode data from the
client apparatus 30, thecontroller 11 of therelay apparatus 10 refers to the stored data in the managementtable storage area 14 to specify conditional expression conversion routines corresponding to the service identifiers included in the received search request data. Thecontroller 11 of therelay apparatus 10 uses the specified conditional expression conversion routines to convert the conditional expression included in the received search request data into conditional expressions in the formats used in the storage services (in step S32). In the exemplary operation, the conditional expression “Name=abc” is converted into “search/Name/abc” by using a conditional expression conversion routine “ConvertCondForA( )”, and is converted into “search?q=‘Name=abc’” by using a conditional expression conversion routine “ConvertCondForB( )”. - The
controller 11 uses access destination information corresponding to the service identifiers included in the search request data received in step S31, to transmit search request data to the storage service providing apparatuses 20 (in steps S33-A and S33-B). In the exemplary operation, thecontroller 11 transmits an HTTP GET request in which “http://www.serviceA/search/Name/abc” is specified as a URI to the storageservice providing apparatus 20 a. Thecontroller 11 transmits an HTTP GET request in which “http://www.serviceB/search?q=‘Name=abc’” is specified as a URI to the storageservice providing apparatus 20 b. - Receiving search request data transmitted from the
relay apparatus 10, a storageservice providing apparatus 20 uses the conditional expression specified by the received search request data to search for content, and transmits a content list obtained through searching to the relay apparatus 10 (in steps S34-A and S34-B). At that time, a storageservice providing apparatus 20 uses a content identifier in the format predetermined in the storage service for the storageservice providing apparatus 20. Specifically, in the exemplary operation inFIG. 9 , the storageservice providing apparatus 20 a transmits “http://www.serviceA/doc/3210” and “http://www.serviceA/doc/9876” as content identifiers to therelay apparatus 10. The storageservice providing apparatus 20 b transmits “http://www.serviceB/doc-ABC” as a content identifier to therelay apparatus 10. - Receiving content lists from the storage
service providing apparatuses 20, thecontroller 11 of therelay apparatus 10 generates data (display data) indicating an instruction to display a screen as illustrated inFIG. 10 in accordance with the display mode “not specified (display on content-by-content basis)” specified by the mode data received in step S31, and transmits the generated data to the client apparatus 30 (in step S35). Theclient apparatus 30 displays a display screen for search results (list of content identifiers, i.e., content names) as illustrated inFIG. 10 in accordance with the display data transmitted from therelay apparatus 10. - As described above, in the exemplary embodiment, the
client apparatus 30 displays a screen (seeFIG. 8 ) for prompting the user U to select a display aspect (display mode) of search results on thedisplay unit 34. The storageservice providing apparatuses 20 are different in processing speed, communication speed, and the like, and the time period required for searching depends on each of the storageservice providing apparatuses 20. Therefore, search results for content are transmitted from the storageservice providing apparatuses 20 at different timings depending on the storageservice providing apparatuses 20. Accordingly, in the exemplary embodiment, the user U sets how to display search results which are transmitted at different timings. - The display modes, one of which the user U is allowed to select in the screen for selecting a display mode illustrated in
FIG. 8 , will be described below. The mode “not specified (display on content-by-content basis)” is a mode in which search results for content from the storageservice providing apparatuses 20 are displayed one by one in the order of receipt of the search results. - As described above,
FIG. 10 is a diagram illustrating an exemplary display aspect of search results obtained when the mode “not specified (display on content-by-content basis)” is selected. In the example inFIG. 10 , pieces of content obtained through searching are displayed in a list in the order of receipt of search results. In this example, pieces of content in a search result received at an early timing are displayed on an upper side of the list. In this case, pieces of content received as a search result transmitted later are sequentially added to the end of the list. - The mode “not specified (display on service-by-service basis)” is a mode in which search results are displayed on a storage-service-by-storage-service basis in the order of receipt of the search results.
FIG. 11 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated inFIG. 11 , search results are displayed on a storage-service-by-storage-service basis in the order of receipt of the search results. In this example, a storage service from which a search result is received at an early timing is displayed on an upper side of the list. In this case, for a service from which a search result is received later, the search result from the service is sequentially added to the end of the list and displayed. - The mode “specify display order (display on service-by-service basis)” indicates a mode in which a user U specifies a display order on a service-by-service basis.
FIG. 12 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated inFIG. 12 , search results are displayed on a storage-service-by-storage-service basis in the order specified by the user U. - The mode “specify display order (display on content-by-content basis)” indicates a mode in which a user U specifies a display order on a content-by-content basis.
FIG. 13 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated inFIG. 13 , pieces of content obtained through searching are displayed in the order specified by the user U (for example, in ascending order of content name, or in ascending order of save date and time). - The mode “combine above display rules” indicates a mode in which a user U specifies a display order for some pieces of content or some storage services.
FIG. 14 is a diagram illustrating an exemplary display screen showing search results in this mode.FIG. 14 illustrates an example in which a user U specifies a display order for some storage services and also specifies “creation date of content (ascending order)” used as a display order of the content obtained through search of the services, and in which search results are displayed on a storage-service-by-storage-service basis in the specified order by sorting the pieces of content obtained through the search of the storage services, in ascending order of creation date. In this case, storage services for which a display order is not specified are sequentially added to the end of the list in the order of receipt of the search results and displayed. - The mode “display the number of hits on service-by-service basis” indicates a mode in which the number of pieces of content obtained through searching is displayed on a storage-service-by-storage-service basis.
FIG. 15 is a diagram illustrating an exemplary display screen showing search results in this mode. In the example illustrated inFIG. 15 , the number of pieces of content obtained through searching is displayed for each of the storage services. - In the selection screen illustrated in
FIG. 8 , a user U selects either of the modes. When either of the modes “not specified (display on content-by-content basis)”, “not specified (display on service-by-service basis)”, and “display the number of hits on service-by-service basis” is selected, thecontroller 31 generates mode data indicating the selected mode. When the mode “specify display order (display on service-by-service basis)” is selected, thecontroller 31 displays a screen for specifying a display order of the storage services as illustrated inFIG. 16 . In the example illustrated inFIG. 16 ,buttons screen 280. The user U presses thebuttons controller 31 generates mode data indicating the display order specified by the user U. - When the mode “specify display order (display on content-by-content basis)” is selected in the screen illustrated in
FIG. 8 , thecontroller 31 displays a screen for specifying a display order of content as illustrated inFIG. 17 . In ascreen 290 illustrated inFIG. 17 , choices “content name (ascending order)”, “save date and time of content”, and the like are displayed as display orders for content, and the user U uses theoperation unit 33 to select either of the displayed display orders. Thecontroller 31 determines a display aspect of search results in accordance with information which is output from theoperation unit 33, and generates mode data indicating the determined display aspect. - When the mode “combine above display rules” is selected in the screen illustrated in
FIG. 8 , thecontroller 31 displays a screen for selecting a combination of rules as illustrated inFIG. 18 . In the screen illustrated inFIG. 18 , the user U uses theoperation unit 33 to select a combination of rules. Thecontroller 31 determines a combination of rules in accordance with information which is output from theoperation unit 33, and displays a screen for specifying a display order of content or services as illustrated inFIG. 19 , on thedisplay unit 34. In the example illustrated inFIG. 19 , ascreen 310 for specifying a display order for some services is displayed. The user U usesbuttons controller 31 generates mode data indicating the display order specified by the user U. As described above, the mode data generated by thecontroller 31 in accordance with the setting of a display mode performed by the user U is transmitted to therelay apparatus 10 in step S31 inFIG. 9 . - Receiving the mode data indicating a display mode from the
client apparatus 30, therelay apparatus 10 stores it in a predetermined storage area of therelay apparatus 10, and generates data that is to be transmitted to theclient apparatus 30, in accordance with the mode data. Receiving search results from the storage service providing apparatuses 20 (in steps 934-A and S34-B inFIG. 9 ), thecontroller 11 ofrelay apparatus 10 generates data indicating a screen on which the search results are displayed, in accordance with the mode data stored in therelay apparatus 10, and transmits the generated data to the client apparatus 30 (in step S35 inFIG. 9 ). For example, when the mode “not specified (display on content-by-content basis)” is selected by the user U, thecontroller 11 of therelay apparatus 10 generates data indicating the screen as illustrated inFIG. 10 , and transmits the generated data to theclient apparatus 30. Theclient apparatus 30 displays the screen showing the search results on thedisplay unit 34 in accordance with the data received from therelay apparatus 10. - When the user U selects the mode “display the number of hits on service-by-service basis”, the
controller 11 generates data indicating a screen as illustrated inFIG. 15 , and transmits the generated data to theclient apparatus 30. Theclient apparatus 30 displays a screen as illustrated inFIG. 15 on thedisplay unit 34 in accordance with the data received from therelay apparatus 10. In ascreen 270 illustrated inFIG. 15 , when the user U selects either ofbuttons controller 31 displays a content list indicating the search result of a storage service corresponding to the selected button on thedisplay unit 34 in accordance with the data indicating the search results received from therelay apparatus 10. - As described above, the search results for content are transmitted from the storage
service providing apparatuses 20 at different timings depending on the storageservice providing apparatuses 20, and a time lag may occur. Therefore, in the exemplary embodiment, at predetermined time intervals, therelay apparatus 10 generates data in which search results which have been received from storageservice providing apparatuses 20 at that time are reflected, and transmits the data to theclient apparatus 30 every time the data is generated. Every time theclient apparatus 30 receives data from therelay apparatus 10, theclient apparatus 30 updates the screen displayed on thedisplay unit 34. Therefore, the screen displayed on thedisplay unit 34 is continuously updated at predetermined time intervals. - An operation of outputting content will be described with reference to
FIG. 20 . The user U uses theoperation unit 33 to select a piece of content from the list displayed on thedisplay unit 34. Theclient apparatus 30 transmits an output instruction to output the selected content, to therelay apparatus 10 in accordance with information which is output from the operation unit 33 (in step S11). The output instruction includes either of the content identifiers displayed in the content list. - Receiving the output instruction from the
client apparatus 30, thecontroller 11 of therelay apparatus 10 obtains content corresponding to the content identifier included in the received output instruction from the storageservice providing apparatus 20, stores it in itself, and transmits a URI (acquisition destination information) indicating the storage location of the content to the client apparatus 30 (in step S12). Thecontroller 11 performs a preparative process for obtaining the content which has been obtained from the storage service providing apparatus 20 (in step S13). Specifically, in the exemplary operation, when the data format of the content specified by the user U is not a data format in which theimage output device 40 is capable of displaying content, thecontroller 11 converts the content into the data format in which theimage output device 40 is capable of displaying content. In this case, the acquisition destination information transmitted in step S12 indicates a storage area for the content obtained through conversion. - Receiving the acquisition destination information of the content from the
relay apparatus 10, theclient apparatus 30 transmits the received acquisition destination information to theimage output device 40, thereby notifying theimage output device 40 of the acquisition destination information of the content (in step S14). Receiving the acquisition destination information from theclient apparatus 30, theimage output device 40 accesses the storage location indicated by the received acquisition destination information (in step S15). Therelay apparatus 10 transmits the content stored in the accessed storage location (in step S16). Theimage output device 40 outputs an image represented by the content transmitted from therelay apparatus 10 by using the image forming unit 45 (in step S17). - The above-described exemplary embodiment is an example of the present invention, and may be modified as follows. Modified embodiments described below may be combined with each other.
- (1) In the above-described exemplary embodiment, the operation in which a user uses the
client apparatus 30 to search storage services specified by the user via therelay apparatus 10 for content is described. The present invention is not limited to this, and thecontroller 41, theoperation unit 43, and thedisplay unit 44 of theimage output device 40 may perform the processes performed by thecontroller 31, theoperation unit 33, and thedisplay unit 34 of theclient apparatus 30. - An operation in which a user uses the
image output device 40 to search storage services for content is similar to the operation using theclient apparatus 30 illustrated inFIG. 9 . An operation of outputting content will be described with reference toFIG. 21 . A user U uses theoperation unit 43 of theimage output device 40 to select a piece of content from a list displayed on thedisplay unit 44. Theimage output device 40 transmits a request to output the selected piece of content, to therelay apparatus 10 in accordance with information which is output from the operation unit 43 (in step S21). The output request includes either of the content identifiers displayed in the content list. - Receiving the output request from the
image output device 40, thecontroller 11 of therelay apparatus 10 generates a URI (acquisition destination information) indicating a content storage location corresponding to the received output request, and transmits it to the image output device 40 (in step S22). Thecontroller 11 requests a storageservice providing apparatus 20 to obtain content corresponding to the content identifier included in the received output request, and obtains content corresponding to the content identifier from the storage service providing apparatus 20 (in step S23). - Receiving acquisition destination information of the content from the
relay apparatus 10, theimage output device 40 periodically accesses the URI indicated by the received acquisition destination information, and checks if print data has been generated (in step S24). Thecontroller 11 of therelay apparatus 10 converts content obtained from the storageservice providing apparatus 20 into print data in a format in which theimage output device 40 is capable of outputting data, and stores the print data generated through conversion in the storage location indicated by the URI of the acquisition destination information. Theimage output device 40 periodically accesses the storage location indicated by the URI of the received acquisition destination information. When print data is stored in the storage location indicated by the URI, theimage output device 40 obtains the print data from the storage location (in step S25). Theimage output device 40 outputs image data representing the content on the basis of the print data obtained from therelay apparatus 10, by using the image forming unit 45 (in step S26). - (2) In the above-described exemplary embodiment, every time a user searches for content, the user sets a display mode for search results. However, the timing at which a display mode is set is not limited to that in the above-described exemplary embodiment. For example, a configuration may be employed in which mode data indicating a display mode which is set by a user is stored in a predetermined storage area in the
storage unit 35 of theclient apparatus 30, and thecontroller 31 may refer to the mode data stored in the storage area to specify the display mode. In this case, a user simply sets a display mode once, and it is not necessary to set a mode every time searching is to be performed. In this case, the user may change the display mode at a desired timing. When the user uses theoperation unit 33 to change the display mode, thecontroller 31 changes the mode data in accordance with information which is output from theoperation unit 33. - As another example, a mode may be set at a timing at which the client apparatus is turned on. In addition, a default of the display mode may be predetermined. When a user does not select a display mode, the
controller 31 may refer to the predetermined default and determine the display mode. - As another example, the
relay apparatus 10 may store mode data transmitted by theclient apparatus 30 to therelay apparatus 10. When display data indicating a screen displaying search results according to search request data transmitted from theclient apparatus 30 after the transmission of mode data is to be generated, therelay apparatus 10 may generate display data in accordance with the mode data stored in advance. In this case also, it is not necessary for a user to set the mode every time searching is to be performed. - (3) In the above-described exemplary embodiment, the configuration is employed in which a screen displaying search results is updated at predetermined time intervals. However, the display aspect of search results is not limited to this, and the
relay apparatus 10 may wait until all search results are received from the storageservice providing apparatuses 20, and may transmit the search results to theclient apparatus 30 at a time. - (4) In the above-described exemplary embodiment, the mode in which the display order is specified on a service-by-service basis, the mode in which the display order is specified on a content-by-content basis, and the like are taken as exemplary display modes for search results. The display modes are not limited to those in the above-described exemplary embodiment, and modes indicating other display aspects may be employed.
- (5) In the above-described exemplary embodiment, the
controller 11 of therelay apparatus 10 generates data (display data) indicating a screen displaying search results from the storage services, and transmits it to theclient apparatus 30. The present invention is not limited to this, and thecontroller 31 of theclient apparatus 30 may generate data indicating a screen displaying search results. In this case, thecontroller 11 of the relay apparatus 10 (exemplary content identifier conversion unit and content identifier transmission unit) converts content identifiers received from storageservice providing apparatuses 20, in accordance with identifier conversion routines corresponding to the storageservice providing apparatuses 20 which are read out from the management table (seeFIG. 2B ), and transmits a list of the content identifiers obtained through the conversion to theclient apparatus 30. Then, theclient apparatus 30 may display the content identifiers indicating the search results received from therelay apparatus 10, in accordance with the display mode which has been set by a user. - (6) In the above-described exemplary embodiment, a timeout may be set for the process of searching a storage
service providing apparatus 20. For example, a user may set a timeout period by using theoperation unit 33. When the time period which is set by the user has elapsed, therelay apparatus 10 may transmit data indicating search results which have been received at that time point, to theclient apparatus 30. In the case where therelay apparatus 10 transmits search results one by one which are received from the storageservice providing apparatuses 20, to theclient apparatus 30, after the time period which is set by the user has elapsed, it is possible for therelay apparatus 10 not to receive search results from the storageservice providing apparatuses 20, or not to transmit received search results to theclient apparatus 30. - (7) The configuration of the
communication system 1 is not limited to the configuration described in the above-described exemplary embodiment. For example, the number of units included in thecommunication system 1 may be different from the number of units in the exemplary embodiment. For example, in the above-described exemplary embodiment, the example is described in which thecommunication system 1 is provided with oneimage output device 40. The number ofimage output devices 40 is not limited to one, and may be more than one. In addition, in the above-described exemplary embodiment, one storage service providing apparatus provides one storage service. The present invention is not limited to this, and multiple servers may provide one storage service. - In the above-described exemplary embodiment, the case where three storage services are provided is described. However, the number of storage services are not limited to three, and may be more than or less than three.
- In the above-described exemplary embodiment, the
client apparatus 30 and theimage output device 40 are separately provided. Alternatively, these units may be integrated into one unit. - (8) In the above-described exemplary embodiment, the configuration is employed in which a service identifier for identifying a storage service and access destination information indicating information used to access a storage
service providing apparatus 20 are separately used. The present invention is not limited to this, and a service identifier and access destination information may be unified into one piece of data. For example, a configuration may be employed in which a URI used to access a storageservice providing apparatus 20 is used to identify a storage service. - (9) The
image output device 40 described in the above-described exemplary embodiment is an exemplary apparatus to which therelay apparatus 10 provides a service. This apparatus may be another apparatus, such as a personal computer (PC), a tablet PC, or a cellular phone. - (10) A program executed in the
relay apparatus 10, the storageservice providing apparatuses 20, theclient apparatus 30, or theimage output device 40 may be downloaded via a communication line such as the Internet. Alternatively, the program may be provided by recording the program in a computer-readable recording medium, such as a magnetic recording medium (for example, a magnetic tape or a magnetic disk), an optical recording medium (for example, an optical disk), a magneto-optical recording medium, or a semiconductor memory. - The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Claims (15)
1. A relay apparatus comprising:
a storage that stores a service identifier, access destination information, and a conversion routine which are associated with each other, for each of a plurality of storage services, the service identifier being an identifier for identifying the storage service, the access destination information indicating information used to access a server which provides the storage service, the conversion routine indicating a rule for converting a format of a specified condition indicating a condition used to specify one or more pieces of content between a format used in the server providing the storage service and a format used in a client apparatus;
a request data reception unit that receives a service identifier and a specified condition as request data from the client apparatus;
a mode data reception unit that receives mode data for specifying a display format used when the client apparatus displays a search result according to the specified condition received by the request data reception unit;
a specified condition conversion unit that converts the specified condition received by the request data reception unit into a format used in the server, in accordance with a conversion routine stored in the storage in such a manner that the conversion routine is associated with the service identifier received by the request data reception unit;
a request data transmission unit that transmits the specified condition obtained through the conversion performed by the specified condition conversion unit, as request data in accordance with access destination information stored in the storage in such a manner that the access destination information is associated with the service identifier received by the request data reception unit;
a content identifier reception unit that receives a content identifier transmitted from the server as a response to the request data transmitted by the request data transmission unit;
a generation unit that generates display data indicating an instruction to display the content identifier received by the content identifier reception unit in the display format specified by the mode data received by the mode data reception unit; and
a display data transmission unit that transmits the display data generated by the generation unit, as a response to the request data received by the request data reception unit to the client apparatus.
2. The relay apparatus according to claim 1 ,
wherein, in the case where the request data reception unit receives a plurality of service identifiers from the client apparatus,
the specified condition conversion unit converts the specified condition received by the request data reception unit, for each of the plurality of service identifiers received by the request data reception unit, in accordance with a conversion routine stored in the storage in such a manner that the conversion routine is associated with the service identifier, so as to generate a plurality of specified conditions corresponding to the plurality of respective service identifiers,
the request data transmission unit transmits the plurality of specified conditions generated by the specified condition conversion unit, as a plurality of pieces of request data in accordance with pieces of access destination information stored in the storage in such a manner that the pieces of access destination information are associated with the plurality of service identifiers corresponding to the plurality of specified conditions, and
the content identifier reception unit receives content identifiers transmitted from a plurality of servers, as responses to the plurality of pieces of request data transmitted by the request data transmission unit.
3. The relay apparatus according to claim 2 ,
wherein the content identifier reception unit receives the content identifiers at different timings from the plurality of servers,
wherein the generation unit generates display data indicating an instruction to display the content identifiers which have been received by the content identifier reception unit, every time a predetermined time period has elapsed, and
wherein, every time the generation unit generates display data, the display data transmission unit transmits the display data.
4. The relay apparatus according to claim 1 ,
wherein the mode data specifies display order of the content identifiers.
5. The relay apparatus according to claim 2 ,
wherein the mode data specifies display order of the content identifiers.
6. The relay apparatus according to claim 3 ,
wherein the mode data specifies display order of the content identifiers.
7. The relay apparatus according to claim 1 ,
wherein the mode data indicates an instruction to display the content identifiers on a storage-service-by-storage-service basis.
8. The relay apparatus according to claim 2 ,
wherein the mode data indicates an instruction to display the content identifiers on a storage-service-by-storage-service basis.
9. The relay apparatus according to claim 3 ,
wherein the mode data indicates an instruction to display the content identifiers on a storage-service-by-storage-service basis.
10. The relay apparatus according to claim 4 ,
wherein the mode data indicates an instruction to display the content identifiers on a storage-service-by-storage-service basis.
11. The relay apparatus according to claim 5 ,
wherein the mode data indicates an instruction to display the content identifiers on a storage-service-by-storage-service basis.
12. The relay apparatus according to claim 6 ,
wherein the mode data indicates an instruction to display the content identifiers on a storage-service-by-storage-service basis.
13. A client apparatus comprising:
an acquisition unit that acquires a service identifier for identifying a storage service, a specified condition indicating a condition for specifying one or more pieces of content, and mode data specifying a display format of a search result according to the specified condition;
a request data transmission unit that transmits the service identifier and the specified condition which are acquired by the acquisition unit, as request data to a relay apparatus;
a content identifier reception unit that receives a content identifier for identifying content, the content identifier being transmitted from the relay apparatus as a response to the request data transmitted by the request data transmission unit; and
a display controller that causes a display apparatus to display the content identifier received by the content identifier reception unit, in the display format specified by the mode data acquired by the acquisition unit.
14. A non-transitory computer readable medium storing a program causing a computer to execute a process comprising:
storing a service identifier, access destination information, and a conversion routine which are associated with each other, for each of a plurality of storage services, the service identifier being an identifier for identifying the storage service, the access destination information indicating information used to access a server which provides the storage service, the conversion routine indicating a rule for converting a format of a specified condition indicating a condition used to specify one or more pieces of content between a format used in the server providing the storage service and a format used in a client apparatus;
receiving a service identifier and a specified condition as request data from the client apparatus;
receiving mode data for specifying a display format used when the client apparatus displays a search result according to the received specified condition;
converting the received specified condition into a format used in the server, in accordance with a conversion routine stored in the storage in such a manner that the conversion routine is associated with the received service identifier;
transmitting the specified condition obtained through the conversion, as request data in accordance with access destination information stored in the storage in such a manner that the access destination information is associated with the received service identifier;
receiving a content identifier transmitted from the server as a response to the transmitted request data;
generating display data indicating an instruction to display the received content identifier in the display format specified by the received mode data; and
transmitting the generated display data, as a response to the received request data to the client apparatus.
15. A non-transitory computer readable medium storing a program causing a computer to execute a process comprising:
acquiring a service identifier for identifying a storage service, a specified condition indicating a condition for specifying one or more pieces of content, and mode data specifying a display format of a search result according to the specified condition;
transmitting the acquired service identifier and the acquired specified condition, as request data to a relay apparatus;
receiving a content identifier for identifying content, the content identifier being transmitted from the relay apparatus as a response to the transmitted request data; and
causing a display apparatus to display the received content identifier, in the display format specified by the acquired mode data.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/936,003 US10574738B2 (en) | 2013-03-05 | 2018-03-26 | Relay apparatus, client apparatus, and computer-readable medium |
US16/745,452 US10958715B2 (en) | 2013-03-05 | 2020-01-17 | Relay apparatus, client apparatus, and computer-readable medium |
US17/177,581 US20210176299A1 (en) | 2013-03-05 | 2021-02-17 | Relay apparatus, client apparatus, and computer-readable medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013043210A JP5966974B2 (en) | 2013-03-05 | 2013-03-05 | Relay device, client device, system, and program |
JP2013-043210 | 2013-03-05 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/936,003 Continuation US10574738B2 (en) | 2013-03-05 | 2018-03-26 | Relay apparatus, client apparatus, and computer-readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
US20140258468A1 true US20140258468A1 (en) | 2014-09-11 |
Family
ID=51469236
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/053,916 Abandoned US20140258468A1 (en) | 2013-03-05 | 2013-10-15 | Relay apparatus, client apparatus, and computer-readable medium |
US15/936,003 Active US10574738B2 (en) | 2013-03-05 | 2018-03-26 | Relay apparatus, client apparatus, and computer-readable medium |
US16/745,452 Active US10958715B2 (en) | 2013-03-05 | 2020-01-17 | Relay apparatus, client apparatus, and computer-readable medium |
US17/177,581 Pending US20210176299A1 (en) | 2013-03-05 | 2021-02-17 | Relay apparatus, client apparatus, and computer-readable medium |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/936,003 Active US10574738B2 (en) | 2013-03-05 | 2018-03-26 | Relay apparatus, client apparatus, and computer-readable medium |
US16/745,452 Active US10958715B2 (en) | 2013-03-05 | 2020-01-17 | Relay apparatus, client apparatus, and computer-readable medium |
US17/177,581 Pending US20210176299A1 (en) | 2013-03-05 | 2021-02-17 | Relay apparatus, client apparatus, and computer-readable medium |
Country Status (3)
Country | Link |
---|---|
US (4) | US20140258468A1 (en) |
JP (1) | JP5966974B2 (en) |
CN (1) | CN104038654B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156349A1 (en) * | 2013-11-29 | 2015-06-04 | Canon Kabushiki Kaisha | Information processing apparatus, system, and control method for information processing apparatus |
US20150153980A1 (en) * | 2013-12-04 | 2015-06-04 | Konica Minolta; Inc. | Relay device, image forming apparatus, relay method, and non-transitory computer-readable recording medium encoded with relay program |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6405831B2 (en) * | 2014-09-25 | 2018-10-17 | 富士ゼロックス株式会社 | Information processing apparatus, communication system, and program |
JP7058497B2 (en) * | 2017-12-06 | 2022-04-22 | 日本放送協会 | Delivery status provision device and program |
JP7409887B2 (en) * | 2020-01-23 | 2024-01-09 | 株式会社キーエンス | Data relay equipment and display equipment |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011147A1 (en) * | 2005-06-22 | 2007-01-11 | Affiniti, Inc. | Systems and methods for retrieving data |
US20070088702A1 (en) * | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US7664738B2 (en) * | 2004-12-07 | 2010-02-16 | Canon Kabushiki Kaisha | Search system, information processing apparatus, control method therefor, and program |
US20100100550A1 (en) * | 2008-10-22 | 2010-04-22 | Sony Computer Entertainment Inc. | Apparatus, System and Method For Providing Contents and User Interface Program |
US20120089630A1 (en) * | 2007-06-26 | 2012-04-12 | Mikhail Gilula | System and Method For Querying Heterogeneous Data Sources |
US20120117629A1 (en) * | 2010-11-04 | 2012-05-10 | Brother Kogyo Kabushiki Kaisha | Relay apparatus, communication apparatus and relay method |
US20130124552A1 (en) * | 2011-11-14 | 2013-05-16 | Microsoft Corporation | Locating relevant content items across multiple disparate content sources |
US20130124562A1 (en) * | 2011-11-10 | 2013-05-16 | Microsoft Corporation | Export of content items from multiple, disparate content sources |
US20130144891A1 (en) * | 2011-12-01 | 2013-06-06 | Sony Corporation | Server apparatus, information terminal, and program |
US9037563B1 (en) * | 2011-09-09 | 2015-05-19 | Google Inc. | Search result claiming |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001344241A (en) * | 2000-05-31 | 2001-12-14 | Hikari Tsushin Inc | Information retrieving system |
US7577655B2 (en) * | 2003-09-16 | 2009-08-18 | Google Inc. | Systems and methods for improving the ranking of news articles |
US20070162502A1 (en) * | 2005-12-29 | 2007-07-12 | United Video Properties, Inc. | Media library in an interactive media guidance application |
US8201107B2 (en) * | 2006-09-15 | 2012-06-12 | Emc Corporation | User readability improvement for dynamic updating of search results |
US7899803B2 (en) * | 2007-02-19 | 2011-03-01 | Viewzi, Inc. | Multi-view internet search mashup |
WO2008129641A1 (en) * | 2007-04-13 | 2008-10-30 | Fujitsu Limited | Capture device and capture method |
US20090006358A1 (en) * | 2007-06-27 | 2009-01-01 | Microsoft Corporation | Search results |
US20090083232A1 (en) * | 2007-09-24 | 2009-03-26 | Taptu Ltd. | Search results with search query suggestions |
US20120095992A1 (en) * | 2008-03-04 | 2012-04-19 | Timothy Cutting | Unified media search |
US8332400B2 (en) * | 2008-09-23 | 2012-12-11 | Sage Inventions, Llc | System and method for managing web search information in navigation hierarchy |
JP4949427B2 (en) * | 2009-04-17 | 2012-06-06 | 株式会社沖データ | Image processing method and image processing apparatus |
KR101120390B1 (en) * | 2009-12-29 | 2012-02-24 | 엔에이치엔(주) | System and method for providing search result |
US10156954B2 (en) * | 2010-01-29 | 2018-12-18 | Oracle International Corporation | Collapsible search results |
WO2011128945A1 (en) * | 2010-04-16 | 2011-10-20 | Hitachi, Ltd. | Integrated search server and integrated search method |
US9674379B2 (en) | 2010-11-04 | 2017-06-06 | Brother Kogyo Kabushiki Kaisha | Relay apparatus, communication apparatus, and control methods of relay apparatus |
US8495058B2 (en) * | 2011-08-05 | 2013-07-23 | Google Inc. | Filtering social search results |
US20130060912A1 (en) * | 2011-09-07 | 2013-03-07 | Reality Mobile Llc | Streaming-Content Analytics |
US9329810B2 (en) * | 2011-12-22 | 2016-05-03 | Xerox Corporation | Secure federation of cloud print services |
US8799959B2 (en) * | 2012-08-16 | 2014-08-05 | Hoi L. Young | User interface for entertainment systems |
EP2954439A4 (en) * | 2013-02-08 | 2016-12-07 | Eko Futura Näringslivsutveckling Ab | Method and device for handling data containers |
-
2013
- 2013-03-05 JP JP2013043210A patent/JP5966974B2/en active Active
- 2013-10-15 US US14/053,916 patent/US20140258468A1/en not_active Abandoned
- 2013-12-09 CN CN201310659229.1A patent/CN104038654B/en active Active
-
2018
- 2018-03-26 US US15/936,003 patent/US10574738B2/en active Active
-
2020
- 2020-01-17 US US16/745,452 patent/US10958715B2/en active Active
-
2021
- 2021-02-17 US US17/177,581 patent/US20210176299A1/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7664738B2 (en) * | 2004-12-07 | 2010-02-16 | Canon Kabushiki Kaisha | Search system, information processing apparatus, control method therefor, and program |
US20070011147A1 (en) * | 2005-06-22 | 2007-01-11 | Affiniti, Inc. | Systems and methods for retrieving data |
US20070088702A1 (en) * | 2005-10-03 | 2007-04-19 | Fridella Stephen A | Intelligent network client for multi-protocol namespace redirection |
US20120089630A1 (en) * | 2007-06-26 | 2012-04-12 | Mikhail Gilula | System and Method For Querying Heterogeneous Data Sources |
US20100100550A1 (en) * | 2008-10-22 | 2010-04-22 | Sony Computer Entertainment Inc. | Apparatus, System and Method For Providing Contents and User Interface Program |
US20120117629A1 (en) * | 2010-11-04 | 2012-05-10 | Brother Kogyo Kabushiki Kaisha | Relay apparatus, communication apparatus and relay method |
US9037563B1 (en) * | 2011-09-09 | 2015-05-19 | Google Inc. | Search result claiming |
US20130124562A1 (en) * | 2011-11-10 | 2013-05-16 | Microsoft Corporation | Export of content items from multiple, disparate content sources |
US20130124552A1 (en) * | 2011-11-14 | 2013-05-16 | Microsoft Corporation | Locating relevant content items across multiple disparate content sources |
US20130144891A1 (en) * | 2011-12-01 | 2013-06-06 | Sony Corporation | Server apparatus, information terminal, and program |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150156349A1 (en) * | 2013-11-29 | 2015-06-04 | Canon Kabushiki Kaisha | Information processing apparatus, system, and control method for information processing apparatus |
US9313345B2 (en) * | 2013-11-29 | 2016-04-12 | Canon Kabushiki Kaisha | Information processing apparatus, system, and control method for information processing apparatus |
US20150153980A1 (en) * | 2013-12-04 | 2015-06-04 | Konica Minolta; Inc. | Relay device, image forming apparatus, relay method, and non-transitory computer-readable recording medium encoded with relay program |
US9811294B2 (en) * | 2013-12-04 | 2017-11-07 | Konica Minolta, Inc. | Relay device, image forming apparatus, relay method, and non-transitory computer-readable recording medium encoded with relay program |
Also Published As
Publication number | Publication date |
---|---|
US20180219939A1 (en) | 2018-08-02 |
US10958715B2 (en) | 2021-03-23 |
JP2014170492A (en) | 2014-09-18 |
JP5966974B2 (en) | 2016-08-10 |
CN104038654A (en) | 2014-09-10 |
CN104038654B (en) | 2018-12-14 |
US10574738B2 (en) | 2020-02-25 |
US20210176299A1 (en) | 2021-06-10 |
US20200153894A1 (en) | 2020-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958715B2 (en) | Relay apparatus, client apparatus, and computer-readable medium | |
US9647870B2 (en) | Relay apparatus, system, and computer-readable medium | |
US9400621B2 (en) | Information providing apparatus, terminal device, information providing system, and computer readable medium | |
US10079945B2 (en) | Information providing apparatus, information providing system, and non-transitory computer readable medium | |
US9454718B2 (en) | Printer, print control device, print system, printing method, and computer-readable medium for providing specific print setting information | |
US11281413B2 (en) | Performing print job according to format of print job acquired based on metadata | |
US20140289798A1 (en) | Information processing apparatus, communication system, and computer-readable medium | |
US20120044523A1 (en) | Image forming system for printing contents of widget application executed in terminal | |
US11036819B2 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
US9098794B2 (en) | Direct printing of office documents from their native file format | |
US10552094B2 (en) | Printing apparatus and method of connecting to remote print service | |
US9686423B2 (en) | Offloaded data entry for scanned documents | |
EP2843553A2 (en) | Information processing terminal and control method therefor, and program | |
JP5111547B2 (en) | Image forming system and image forming apparatus | |
US9141939B2 (en) | Image processing system, image processing apparatus, document management server, control method and storage medium thereof | |
US20160100064A1 (en) | Apparatus, method, and non-transitory computer readable medium | |
JP2016201744A (en) | Information processing apparatus and control method therefor, data transmitter and control method therefor, and program | |
US20220083288A1 (en) | Communication method, non-transitory computer-readable storage medium storing program, and communication system | |
JP6263984B2 (en) | Relay device and program | |
JP2017022523A (en) | Image data management system, image data management method and program | |
JP2016005077A (en) | Information processing system and information processing method | |
JP2017199375A (en) | Relay device and program | |
JP2017069816A (en) | Information processing device and control method therefor, and program | |
JP2014228964A (en) | Information distribution device, control method of information distribution device, information distribution system and program | |
JP2009187540A (en) | System and method for managing state information of document processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJI XEROX CO., LTD., JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ISHINO, SHIGEKI;REEL/FRAME:031486/0603 Effective date: 20130605 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |