Cloud off-ramp management

According to an example, cloud off-ramp management may include generating folders on a cloud storage system and retrieving content from the folders based on folder settings. Retrieved content may be sent over the Internet to a device associated with the content.

BACKGROUND

Cloud storage systems are becoming very popular. Users typically upload their content, such as photographs, videos, and documents, to the cloud storage system. Then, they can generally access their content from any device and from any location with an Internet connection. Also, users can easily share their content by giving others users access to their content on the cloud.

DETAILED DESCRIPTION

A cloud off-ramp management system identifies content in a cloud storage system, that is to be off-ramped and facilitates off-ramping the content for example, based on rules and settings. Off-ramping may include providing the content to a device whereby the content can be displayed or printed or otherwise used at the device. Content may be off-ramped to an end user device, such as a printer, smart phone, laptop, etc. The content may be off-ramped to a device with minimal user interaction. For example, the user may no longer have to log into their cloud storage system, search for desired content to print or display, download their content and send it to local printer or another device, which tends to be very time consuming. Also, the cloud off-ramp management system can configure multiple different cloud storage systems for off-ramping content to a device.

A cloud storage system comprises storage resources, for example including hardware and software, that are made available as a service over a network, typically the Internet. Different cloud storage systems are currently available from different cloud storage service providers. The cloud storage system services may be made available to users on a subscription basis or for free. A user may create an account in the cloud storage system and is allocated a certain amount of storage space for storing their content, and then the user can access their content as needed via the Internet. The cloud off-ramp management system facilitates printing or displaying from a cloud storage system as is further described below. In addition, the cloud off-ramp management system may concatenate content according to time-based rules or other rules and off-ramp the concatenated content to a selected device, as is further described below.

FIG. 1illustrates an example of a cloud off-ramp management system100. Users may use user devices130a-c, such as personal computers, mobile phones, tablets, digital cameras, etc., to store content in the cloud storage system120. The cloud off-ramp management system100connects to the cloud storage system120to retrieve content from folders121-125, which may be for a user account in the cloud storage system120, and sends the content to a network printer140and/or to another device, such as one or more of the devices130a-cfor example via the Internet. A folder is a data structure to store files including content. The cloud off-ramp management system100may run on one or more servers or other computer systems. The cloud storage system120may be external to the cloud off-ramp management system100and may be maintained by a different service provider on a different computer. The cloud off-ramp management system100, although not shown, may connect to the cloud storage system120via the Internet and/or another network. Content may include any data which may be stored in the cloud storage system120. The content my include digital photographs, documents, blogs, rss feeds, etc.

The cloud off-ramp management system100may include a storage integrator101, a registration module102, a scheduler103, a credentials module104, a rules and settings database105and a print subsystem110. The storage integrator101may create the folders121-124in the cloud storage system120and may retrieve content from the folders121-125and off-ramp the content to a device, such as the network printer140for printing or another device according to folder settings and rules. For example, folders121a-bare periodic off-ramping folders, such as a daily folder121aand a weekly folder121b. Content in these folders if off-ramped daily and weekly respectively. Folder122may be an on-demand folder, and content in this folder is off-ramped within a short time of being stored in the folder. Folder123may be an off-ramped folder and the storage integrator101may move off-ramped content, such as print jobs that have completed or content that has been confirmed as being received by a designated device, to this folder so the user can easily identify what content has been printed or otherwise delivered to the designated device. Folder124is an “other” folder and may be used to store content that was not successfully printed or delivered to a designated device. For example, if a print job fails, content from the failed print job may be placed in this folder so the user so the user can easily identify what content failed to print. The content in this folder may also be subsequently off-ramped to a printer or another device. An existing folder may be used for printing content instead of or in addition to folders created by the storage integrator101. Folder125, for example “My Folder”, may be a folder that was preexisting and was not created by the storage integrator101. However, settings may be stored for the folder125, and the storage integrator101may retrieve content from this folder according to its settings.

To create the folders121-124in the cloud storage system120, the storage integrator101may use an application program interface (API) of the cloud storage system120to create the folders121-124. For example, the service provider of the cloud storage system120makes available folder management APIs, and these APIs may be used to create folders, delete folders and move content between folders. APIs for folder management may differ among different cloud storage service providers. Scripts may be created for each cloud service storage system according to the APIs for folder management and the scripts may be executed by the storage integrator101to create the folders121-124, move content between the folders and so on. Similarly, scripts may be created and executed by the storage integrator101to login to user accounts in cloud storage systems according to credentials provided by users for their accounts and to create and manage the folders and retrieve content.

For the on-demand folder122, the storage integrator101may subscribe to notifications from the cloud storage system120that indicate when content is stored in the on-demand folder. For example, the storage integrator101registers for folder change notifications and receives messages from the cloud storage system120when a folder change occurs. If the cloud storage system120is not capable of providing notifications, the storage integrator101periodically polls the on-demand folder122to check if the on-demand folder122includes content. For example, the storage integrator101uses a folder management API of the cloud storage system120to frequently check the status of the on-demand folder122.

The registration module102receives registration information for a user and the network printer140and stores the registration information for example, in the rules and settings database105. The rules and settings database105may store any information used by the cloud off-ramp management system100. The registration module102may receive registration information for the network printer140including serial number, device email address, model, etc. Registration information may be received for any device, such as the devices130a-c, for which content is to be delivered from the cloud off-ramp management system100. Also, the registration module102receives credentials for user account information in the cloud storage system120. The credentials may include a user ID and password. In addition, settings and rules may be received from the user and stored in the rules and settings database105. The settings may be for the folders121-125and may indicate the printer or printers for printing content from the folder, periodicity for printing from a folder, such as daily, weekly, etc., a time to print the content, such as 6 PM or 3 AM, and other settings. The rules may include print options, such as black & white, color, settings, paper size settings etc. Rules or settings may include conditions, such as if print job fails, retry to another printer, or only print content in a folder if it is of a specific file type, such as .jpg. Another rule or setting may specify to print different types of files to different printers. Rules may apply globally to multiple folders for a user and settings may apply to a particular folder. Another example of a rule is a concatenating rule. For example, content is concatenated until a certain number of pages or until a certain amount of content is retrieved, and then the concatenated content is off-ramped to the designated device or devices.

The registration module102may generate screens in a graphic user interface to allow users to enter registration information. The graphic user interface may be provided in a web portal to the cloud off-ramp management system100. For example, registration for the network printer140may be performed automatically, such as when the printer first connects to the Internet, its information is sent to the cloud off-ramp management system100, and a printer ID is assigned to the network printer140. The network printer140may be any type of printer that can connect to a network through a network interface. A unique ID may be assigned to each device that is registered. The unique ID may be referred to a device ID. The printer ID is an example of the device ID. The device ID may be for any type of device, such as laptop, tablet computer, smartphone, etc.

The scheduler103invokes the storage integrator101to retrieve content from the folders121-125at predetermined times according to the settings for the folders121-125. For example, the scheduler103instructs the storage integrator101to retrieve content from the daily folder121aat certain times of the day and instructs the storage integrator101to retrieve content from the weekly folder121bonce a week. The credentials module104provides credentials for logging into the user account in the cloud storage system120. For example, the credentials module104provides credentials for a user account to the storage integrator101so it can log into the user account and access the folders121-125in the user account in the cloud storage system120.

The cloud print subsystem110receives content retrieved by the storage integrator101and off-ramps the content to one or more devices which may be identified based on the folder settings. The cloud print subsystem110may include an on-ramp module111that receives content from the storage integrator101and determines a device associated with the content. For example, a printer ID is determined from settings for the folder from which the content was retrieved. A network address associated with the printer ID may be determined. For example, when the network printer140is started and connected to the Internet, it sends a hello message including its Internet Protocol (IP address), which may be associated and stored with its printer ID. A print job for the content is sent to the printer's IP address. In another example, an email address is associated with the network printer140and to off-ramp the content, the content is emailed to the network printer140.

The on-ramp module111sends the content retrieved by the storage integrator101to the rendering module112. The rendering module112renders the content to a format utilized by the device to receive the off-ramped content. For example, the rendering module112renders content for the network printer140by converting the content to printer control language (PCL), which is a standard format used by many printers. Postscript is another format that may be used. The rendered content is provided to the off-ramp module113, which creates a print job including the rendered content to be printed. The print job, in addition to including the content, may include print settings for printing the content, such as color settings, paper size settings, etc. These settings may be determined from the folder settings or rules which may be provided by the user and stored in the database105. The off-ramp module113sends the print job to the printer identified for the folder. For example, the print job is sent to the network printer140in packets addressed to the IP address of the network printer140. The network printer140prints the content.

The network printer140may send an acknowledgement to the off-ramp module113indicating whether the print job completed or failed. The on-ramp module111sends the information indicating whether the print job completed or failed to the storage integrator101. The storage integrator101moves the content to the off-ramped folder123if the print job completed or to the other folder124if the print job failed. Content that failed to print may be re-sent to the network printer140to try to print the content again.

The rendering module112may render content for a device according to rules and/or settings for device. For example, the rendering module112may render content for displaying on a smartphone. The rendering module112may identify rending rules from the database105for the device, for example, according to a unique ID of the device. The rendering module112may format the content for displaying on the device. In one example, the size of the content is adjusted to fit the display. Another rule may be a concatenating rule. For example, the rendering module112concatenates content until a certain number of pages, and then the concatenated content is off-ramped to the designated device. For example, the daily folder121aincludes blogs and rss feeds. The rendering rule may be to create 5 pages of content from content from the daily folder and off-ramp the content to the device when the rendered content reaches 5 pages. The device may acknowledge receipt and to the off-ramp module113and the storage integrator101may move the content from the daily folder121ato the off-ramped folder123.

The user devices130a-cmay be able to upload content automatically to the user account in the cloud storage system120. For example a mobile phone or a digital camera with a network connection may be able to automatically upload content to the on-demand folder122or another folder. Then, the content is automatically printed by the cloud off-ramp management system100to a printer or multiple printers that may be specified by the user.

The folders121-125shown in the cloud storage system120may be for a single user account. The cloud off-ramp management system100may configure folders for multiple different accounts for multiple different users in multiple different cloud storage systems.FIG. 2shows an example whereby the cloud off-ramp management system100can connect to different cloud storage systems120a-fvia the Internet and/or another network to retrieve and print content such as described with respect toFIG. 1. The credentials for user accounts in the cloud storage systems120a-fmay be received from a user and stored in the database105and used by the storage integrator101to log into the user accounts in the cloud storage systems120a-fto retrieve content for printing.

The cloud off-ramp management system100may connect to multiple different network printers140a-nto print content retrieved from one or more of the cloud storage systems120a-f. Although not shown, the cloud off-ramp management system100may connect to devices other than the network printers to receive content retrieved from one or more of the cloud storage systems120a4. A user can specify settings for a folder, which may be created by the storage integrator101in a cloud storage system as described above, that indicates multiple printers for printing content from the folder. The storage integrator101for example uses the folder settings to identify the printer IDs of the printer, which are then used by the print subsystem110to send print jobs with the content to the multiple printers.

Also, users having accounts on the same cloud file storage system may share a folder. For example, the same weekly folder may be available through all the user accounts. The storage integrator101may determine from settings for the folder that it is shared and sends the content from the folder once a week to the print subsystem110to print the content on all the printers associated with the folder. The printers may be for different users sharing the weekly folder.

FIG. 3illustrates a registration method300according to an example. The method300and other methods described below are described by way of example as performed in the cloud off-ramp management system100shown inFIG. 1. The methods may be performed in other systems.

At301, the cloud off-ramp management system100receives registration information for a device, such as the network printer140or one of the devices130a-bgenerates and stores a unique ID at302for the device. For example, the network printer140is turned on and connects to the Internet. If the network printer140is not previously registered, the network printer140sends its information, e.g., serial number, model, etc., to the cloud off-ramp management system100. The registration module102may assign and store a unique ID for the network printer140and send the ID to the user of the network printer140.

At303, the cloud off-ramp management system100receives and stores credentials for a user account for the user in the cloud storage system120. The credentials may include login ID and password for the user account. The credentials module104may retrieve the stored credentials for logging into the user account in the cloud storage system120. At304, the cloud off-ramp management system100receives and stores settings for folders, such as the folders121-125, and rules for printing content from the folders121-125. In addition, settings and rules may be received from the user and stored in the rules and settings database105. The settings may identify one or more devices to off-ramp content from the folder, periodicity for off-ramping content from the folder, etc. Rules may include device settings or conditional rules. The settings and rules may be specified by a user and stored in the rules and settings database105.

FIG. 4illustrates a method400for off-ramping content according to an example. The method400may be performed after the method300. At401, the storage integrator101generates folders on the cloud storage system120. Each folder may include settings associated with off-ramping content in the folder. The settings may include settings received and stored at304. For example, the folders121-124are created on a user account in the cloud storage system120. An existing folder in the user account, such as the folder125, may be associated with settings for off-ramping content.

At402, the storage integrator101retrieves content from one or more of the folders121-125according to the settings for each folder and/or rules for the user account or devices which may be stored in the rules and settings database105. The scheduler103may invoke the storage integrator101to retrieve content at certain times as specified by the settings. The settings may also include device IDs, such as a printer ID for a network printer, e.g., network printer140, to print content from the folder.

At403, the cloud print subsystem110receives the content and settings and/or rules for printing the content, and at404, renders the content to a format utilized by the network printer140. For example, the on-ramp module111receives the retrieved content and the device ID from the storage integrator101, and invokes the rendering module112to render the content to a format utilized by the device. At405, the cloud print subsystem110off-ramps the content to the device. For example, the cloud print subsystem110creates and sends a print job to the network printer140for example over the Internet, wherein the print job includes the rendered content, and the network printer140prints the content.

FIG. 5illustrates a method500for checking off-ramped content according to an example. For example, after the content is off-ramped, such as described in the method400, the cloud print subsystem110may receive an indication, at501, from a device to receive the off-ramped content if the off-ramping was successful or failed. A failure may also be determined if the off-ramp module113does not receive an acknowledgement from the device within a timeout period. In another example, the network printer140may indicate if a print job was completed or failed. If the off-ramping was successful, at502, the storage integrator101moves the off-ramped content to the off-ramped folder123. For example, the storage integrator101receives an indication from the cloud print subsystem110that a print job completed, and moves files for the printed content from one of the folders to the off-ramped folder123. If the off-ramping failed, at503, the storage integrator101moves the content for the failed off-ramping to the other folder124. A user can easily identify what content was successfully off-ramped or failed by viewing the files in the off-ramped folder123and the other folder124.

Some or all of the method, operations, functions and components and modules of the cloud print managements system100described above may be provided as machine readable instructions executable by at least one processor and stored on a non-transitory computer readable storage medium. For example, they may exist as program(s) comprised of program instructions in source code, object code, executable code or other formats.

Referring toFIG. 6, there is shown a computer platform600that may be used for the cloud print managements system100. It is understood that the illustration of the platform600is a generalized illustration and that the platform600may include additional components and that some of the components described may be removed and/or modified without departing from a scope of the platform600.

The platform600includes processor(s)601, such as a central processing unit, ASIC or other type of processing circuit; a display602and/or other input/output devices, a network interface603, such as a network interface to a Local Area Network (LAN), a wireless 802.11x LAN, a 3G or 6G mobile WAN or a WiMax WAN; and a computer-readable medium606. Each of these components may be operatively coupled to a bus608. A non-transitory computer readable medium (CRM), such as CRM606may be any suitable medium which stores instructions for execution by the processor(s)601for execution. For example, the CRM606may be non-volatile media, such as a magnetic disk or solid-state non-volatile memory or volatile media. The CRM606may include machine instructions605for the cloud off-ramp management system100.

While embodiments have been described with reference to the disclosure above, those skilled in the art are able to make various modifications to the described embodiments without departing from the scope of the embodiments as described in the following claims, and their equivalents.