Sie sind auf Seite 1von 31

GOOGLE CLOUD PRINT

CHAPTER 1

INTRODUCTION

Google Cloud Print is a Google service aiming to enable any application (web, desktop, mobile) on any device in the network cloud to print to any printer without Google having to create and maintain printing subsystems for all the hardware combinations of client devices and printers, and without the users having to install drivers to the client. Applications submit print jobs to the cloud print service via the API offered by Google. Google Cloud Print then sends the print job to the selected printer which the user has previously registered with the service. New printers which are called cloud-aware and

connect directly to the cloud print service, while legacy printers will use a Google Cloud Print Proxy. Google defines a Cloud Print Proxy as: a piece of software that runs on a computer connected to a non-cloud-aware printer, a small add-on hardware device that contains the proxy interface and connects to the printer, or firmware that is built in to printers of the future. Currently Google provides a proxy that works on Windows with Google Chrome. They will be supporting Mac and Linux versions in the near future. The Google Cloud Print service interfaces allow you to create a cloud print proxy that gives you a virtual cloud printer you can send jobs to. In Google Chrome OS, all applications are web apps. Therefore, in designing the printing experience for Google Chrome OS, we want to make sure printing from web apps is as natural as printing from traditional native apps is today. Additionally, with the proliferation of webconnected mobile devices such as those running Google Chrome OS and other mobile operating systems, we don't believe it is feasible to build and maintain complex print subsystems and print drivers for each platform. In fact, even the print subsystems and drivers on existing PC operating systems leave a lot of room for improvement.

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 2

COMPONENTS OF GOOGLE CLOUD PRINT


Here's a brief summary of each component in the diagram below are:

Fig 2.1 Components of Google Cloud Print

2.1 APPLICATIONS
Any type of application can use Google Cloud Print, including web apps (such as Gmail) and native apps (such as a desktop word processor or an Android/iPhone app). These apps call Google Cloud Print APIs. They can use these APIs to collect the necessary data to show their own user interface for custom print options or simply use the common print dialog that Google Cloud Print will provide. There are also APIs for querying print job status. Additionally, when the APIs are available, third-party app developers will be able to use Google Cloud Print in their web, desktop, and mobile apps as well.

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

2.2 GOOGLE CLOUD PRINT SERVICE


Google Cloud Print is a web service offered by Google. Users associate printers with their Google Account via the service. Printers are treated in much the same way as documents are in Google Docs. Therefore, it is very easy to share printers with your coworkers, friends, and family anywhere in the world. No need for complex network setups to make print sharing work. In addition to associating printers with a user's Google Account, the capabilities of each particular printer model are stored so they can be shown to the user to select appropriate options when submitting a print job. Once the service receives a print job, it sends it to the printer. It also receives regular updates on the status of the print job which it makes available to the app.

2.3 User Interface


As mentioned earlier, Google is developing a common print dialog (web UI) that apps can use to allow the user to select the printer and appropriate print options. Similarly, the printer/job status and management UI (user interface) will enable users to view which printers they have registered (or have been shared with them), print job status, etc.

2.4 Printers
And, finally, the number one question people ask is, "How do the printers communicate with Google Cloud Print?" The answer is, "It depends on whether the printer is a cloud-aware printer or a legacy printer."

2.4.1 Cloud-aware Printer


The ideal experience is for your printer to have native support for connecting to cloud print services. Under this model, the printer has no need for a PC connection of any kind or for a print driver. The printer is simply registered with one or more cloud print services and awaits print jobs. Cloud-aware printers don't exist yet, but one of our main goals in publishing this information at an early stage is to begin engaging industry leaders and the community in developing cloud-aware printers and the necessary open protocols for these printers to
Dept. of ISE 3 T.C.E. Gadag.

GOOGLE CLOUD PRINT communicate with cloud print services. We believe cloud printing has tremendous benefits for end users and for the industry and is essential, given the rapid shift toward cloud-based applications and data storage. We also believe that the only way that the benefits of cloud printing can be realized is if the protocols are open, freely implementable, and, when possible, based on existing industry standards. We expect there to be multiple cloud print services, and users should have a choice in which services they use and which printers they can connect to a service. Stay tuned for more details. We are confident that cloud-aware printers will soon be a reality.

2.4.2 Legacy Printer


Every printer in existence today falls into this category. This category includes printers connected directly to PCs (for example, via USB cable) as well as networked printers (Ethernet or WiFi). This category also includes the recent crop of "web-connected" printers that provide users with access to certain web services (such as maps and movie tickets) directly from the onprinter LCD. While these are "web connected," they are not cloud-aware printers in the way we describe above because they don't know how to talk to a cloud print service to get print jobs, etc. We want users to be able to print to legacy printers via Google Cloud Print. This is accomplished through the use of a proxy, a small piece of software that sits on a PC where the printer is installed. The proxy takes care of registering the printer with Google Cloud Print and awaiting print jobs from the service. When a job arrives, it submits the print job to the printer using the PC operating system's native print stack and sends job status back to the printer. Currently, a proxy for Windows and will support Mac and Linux later on as well. To help users avoid the trouble of having to install yet another piece of software on their PCs, we will distribute the proxy with Google Chrome. So, by simply installing Google Chrome on their PC and enabling the feature (it is off by default), users will be able to print via Google Cloud Print. An obvious downside to this approach is that the PC must be powered on and connected to the Internet in order for print jobs to get to the proxy (and hence the printer). This current requirement is why we are excited about working with the industry to build native support for cloud print services into their printers. We are also hoping some clever folks in the community

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT will build proxies-in-a-box (like routers with print server abilities) so users get all the benefits of the proxy without needing to leave their PC powered on.

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 3

Connect a Printer to Google Cloud Print


Install Google Chrome to connect your printer. By connecting your printer with the Google Cloud you will be able to print to your printer from any computer or smart phone, regardless of where you are. Just activate the Google Cloud Print connector in Google Chrome and your printer will automatically be available to you from Google Cloud Print enabled web and mobile apps. Here are the following steps how to do the setting: 1. On the Windows PC connected to your printer, click the wrench icon in the upper right hand corner of Google Chrome

2. Choose "Options."

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

3. Click the "Under the Hood" tab. Scroll to the bottom to the Google Cloud Print section and click "Sign in to Google Cloud Print."

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

4. In the dialog that appears, sign in to your Google Account to enable Google Cloud Print.

5. When you have signed in, you will see this confirmation page:

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

6. After setting up Google Cloud Print your options pane will look like this:

You can also print a test page to verify success. The steps you take to print will vary from application to application.

On Chrome notebooks, click the wrench icon and then select Print to print the webpage you are viewing (you can also use the keyboard shortcut Ctrl+P).

On Gmail and Google Docs for mobile, click the menu in the top right corner and select Print.

Dept. of ISE

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 4

How To Integrate Printer With Google Cloud Print?


For a printer to integrate with Google Cloud Print, it needs to be able to handle three basic steps: 1. Authenticate the user using the ClientLogin API. 2. Sync the printers status and capabilities to the cloud. 3. Handle any print jobs queued in the cloud.

4.1 Client login API


The first step in integrating a networked printer with GCP is to get a Google Cloud Print Auth token by using the ClientLogin API* to authenticate the user. The printer will need a method allowing the user to input their username and password, which can be either an in-printer UI or an online registration service served elsewhere. The process will also need to be able to serve a CAPTCHA in the event that Google decides the request needs further vetting to ensure it is coming from a human being. You will need to request separate Auth tokens for each of the services plan to use, the Google Cloud Print service (service=cloudprint) to be able to fetch print jobs and the Talk service (service=chromiumsync) to receive job notifications. The appropriate Auth token will need to be included in all requests using the HTTP header Authorization: GoogleLogin auth={auth_token}. In addition, all requests to the Google Cloud Print server will need to include the HTTP header: X-CloudPrint-Proxy: {OEM_ID} where the OEM id is a make and model ID of your choice. The server will only accept requests where the X-CloudPrint-Proxy HTTP header is defined. A CAPTCHA is a type of challenge-response test used in computing as an attempt to ensure that the response is not generated by a computer. The process usually involves one computer (a server) asking a user to complete a simple test which the computer is able to generate and grade. Because other computers are supposedly unable to solve the CAPTCHA, any

Dept. of ISE

10

T.C.E. Gadag.

GOOGLE CLOUD PRINT user entering a correct solution is presumed to be human. A common type of CAPTCHA requires the user to type letters or digits from a distorted image that appears on the screen. A CAPTCHA is a means of automatically generating challenges which intends to: Provide a problem easy enough for all humans to solve. Prevent standard automated software from filling out a form, unless it is specially designed to circumvent specific CAPTCHA systems. A check box in a form that reads "check this box please" is the simplest form of a CAPTCHA. This has the benefit of distinguishing humans from computers. It also creates incentive to further develop artificial intelligence of computers. CAPTCHAs are used in attempts to prevent automated software from performing actions which degrade the quality of service of a given system, whether due to abuse or resource expenditure. CAPTCHAs can be deployed to protect systems vulnerable to e-mail spam, such as the webmail services of Gmail, Hotmail, and Yahoo! Mail. CAPTCHAs are also used to minimize automated posting to blogs, forums and wikis, whether as a result of commercial promotion, or harassment and vandalism. CAPTCHAs also serve an important function in rate limiting. Automated usage of a service might be desirable until such usage is done to excess and to the detriment of human users. In such cases, administrators can use CAPTCHA to enforce automated usage policies based on given thresholds. The article rating systems used by many news web sites are another example of an online facility vulnerable to manipulation by automated software.

4.1.1 Authentication and Authorization for Google APIs

With programmatic authorization implemented, users can log into their Google account and grant access to their Google service data from inside application. The application then contacts Google with the login data and requests access to a specified Google service. Once Google authorizes access, your application can access the Google service data, allowing the user to create, read, update, or delete service data as needed using your application interface.

Dept. of ISE

11

T.C.E. Gadag.

GOOGLE CLOUD PRINT

4.1.1.1The ClientLogin Authorization Process


Authorization with ClientLogin involves a sequence of interactions between three entities: The Installed Application Google Services and The User.

This diagram illustrates the sequence: 1. When the third-party application needs to access a user's Google service, it retrieves the user's login name and password. 2. The third-party application then makes a ClientLogin call to Google's Authorization service. 3. If the Google Authorization service decides additional vetting is necessary, it returns failure response with a CAPTCHA token and challenge, in the form of a URL for a CAPTCHA image.

Fig 4.1 ClientLogin Authentication Process

Dept. of ISE

12

T.C.E. Gadag.

GOOGLE CLOUD PRINT 4. If a CAPTCHA challenge is received, the third-party application displays the CAPTCHA image for the user and solicits an answer from the user. 5. If requested, the user submits an answer to the CAPTCHA challenge. 6. The third-party application makes a new ClientLogin call, this time including the CAPTCHA answer and token (received with the failure response). 7. On a successful login attempt (with or without CAPTCHA challenge), the Google Authorization service returns a token to the application. 8. The application contacts the Google service with a request for data access, referencing the token received from the Google Authorization service. 9. If the Google service recognizes the token, it supplies the requested data access.

4.1.1.2 Using Client Login


Use this interface in your installed application to programmatically access a user's Google account. After collecting login information from the user, call ClientLogin to request access to the user's account. Once the login information has been successfully authenticated, Google returns a token, which your application will reference each time it requests access to the user's account. The token remains valid for a set length of time, which is defined by whichever Google service you're working with.

Incorporating ClientLogin into your application requires these tasks:

1. Create a UI element to capture login data from the user. The UI (user interface) needs to solicit a user name (email address including domain) and password. The UI should also be capable of displaying a CAPTCHA image using the URL received from Google, if one is required, and soliciting a correct answer from the user. Ideally, your UI will include a link to Google Accounts login page

("https://www.google.com/accounts/Login") in the event that the user needs to sign up for a new account or do other account maintenance.

Dept. of ISE

13

T.C.E. Gadag.

GOOGLE CLOUD PRINT 2. Write code to generate a well-formed HTTPS POST ClientLogin request and transmit it. This code needs to contain logic to handle a CAPTCHA challenge and include both the logintoken and logincaptcha parameters. The application should also be able to detect when the user omits required information--or repeats incorrect data after a login failure-and display an error without sending a superfluous request. 3. Handle responses from Google. There are four possible responses to a login request: success (an HTTP 200) failure (an HTTP 403) with an explanatory error code invalid request, generally resulting from a malformed request failure with a CAPTCHA challenge

A success response contains an authorization token labelled "Auth". This token must be included in all subsequent requests to the Google service for this account. Authorization tokens should be closely guarded and should not be given to any other application, as they represent access to the user's account. The time limit on the token varies depending on which service issued it. A failure response includes one or more error codes and a URL with the error message that can be displayed for the user. Please note that ClientLogin does not differentiate between a failure due to an incorrect password or one due to an unrecognized user name (for example, if the user has not yet signed up for an account). Your application needs to handle all possible error messages as appropriate. A failure response with a CAPTCHA challenge means that Google has decided, for whatever reason, that additional security measures should be taken. This response is accompanied by a CAPTCHA image URL and a token representing the specific CAPTCHA challenge.

Dept. of ISE

14

T.C.E. Gadag.

GOOGLE CLOUD PRINT 4. Handle a CAPTCHA challenge from Google. To handle the challenge, the application must display the CAPTCHA image and solicit an answer from the user. To display the CAPTCHA image, use the value of Captcha Url returned with the failure response, prefixing it with the Google Accounts URL: "http://www.google.com/accounts/". Once the user provides an answer, the application should resend the login request; this time including the CAPTCHA token (logintoken) and the user's answer (logincaptcha). Google validates the user's answer before authorizing access to the account. There is an alternative for developers who do not want to manage the processes of getting and transmitting a user CAPTCHA response. In response to a CAPTCHA challenge, the application can direct the user to the Google Once hosted the user page: has

"https://www.google.com/accounts/DisplayUnlockCaptcha".

successfully responded to the challenge, the Google server trusts the computer in use. The application can then resend the original login request to obtain the authorization token.

4.1.1.3 The ClientLogin Interface


ClientLogin uses standard security measures to protect user account information. To block bots and other entities from breaking user passwords, Google Accounts may add a visual CAPTCHA to the authentication process; this usually happens when the server suspects an illegal intrusion, such as after too many incorrect login attempts. A CAPTCHA ensures that a real person is trying to log in. ClientLogin can be used to authorize access to both Google regular and hosted accounts. A hosted account is a user account that is part of the Google Apps service. NOTE: ClientLogin does not support service sign ups or other account maintenance tasks. Users must have an existing account before using this feature. If a user tries to log in without an account, this interface returns a "login failed" response. In addition, if other account maintenance steps--such as email verification or acceptance of terms--are not completed, the login attempt fails.

Dept. of ISE

15

T.C.E. Gadag.

GOOGLE CLOUD PRINT ClientLogin ClientLogin can be used with any application that can make an HTTPS POST request. The POST request should be structured as a form post with the default encoding application/xwww-form-url encoded. Parameters should be included in the body of the post.

Action URL parameter: https://www.google.com/accounts/ClientLogin

Parameter
accountType

Description Type of account to request authorization for. Possible values are: GOOGLE (get authorization for a Google account only) HOSTED (get authorization for a hosted account only) HOSTED_OR_GOOGLE (get authorization first for a hosted account; if attempt fails, get authorization for a Google account) Use HOSTED_OR_GOOGLE if you're not sure which type of account you want authorization for. If the user information matches both a hosted and a Google account, only the hosted account is authorized.

Email

User's full email address. johndoe@gmail.com). User's password.

It

must

include

the

domain

(i.e.

Passwd Service

Name of the Google service you're requesting authorization for. Each service using the Authorization service is assigned a name value; for example, the name associated with Google Calendar is 'cl'. This parameter is required when accessing services based on Google Data APIs. For specific service names, refer to the service documentation. Short string identifying your application, for logging purposes. This string should take the form: "companyName-applicationName-versionID". (optional) Token representing the specific CAPTCHA challenge. Google supplies this token and the CAPTCHA image URL in a login failed response with the error code "CaptchaRequired". (optional) String entered by the user as an answer to a CAPTCHA challenge. Table 4.1 Action URL parameters

Source

Logintoken

Logincaptcha

Dept. of ISE

16

T.C.E. Gadag.

GOOGLE CLOUD PRINT ClientLogin response In response to a login request, Google returns either an HTTP 200, if login succeeded, or an HTTP 403, if login failed. A success response contains the authorization token, labelled "Auth", in the body of the response. Application must reference this token in each request to the Google service for this user. A failure response contains an error code and a URL to an error page that can be displayed to the user. If the error code is a CAPTCHA challenge, the response also includes a URL to a CAPTCHA image and a special token. Application should be able to solicit an answer from the user and then retry the login request. To display the CAPTCHA image to the user, prefix the CaptchaUrl value with "http://www.google.com/accounts/", for example:

http://www.google.com/accounts/Captcha?ctoken=HiteT4b0Bk5Xg18_AcVoP6yFkHPibe7O9EqxeiI7lUSN".

Error Code

Error code BadAuthentication NotVerified

Description The login request used a username or password that is not recognized. The account email address has not been verified. The user will need to access their Google account directly to resolve the issue before logging in using a non-Google application. The user has not agreed to terms. The user will need to access their Google account directly to resolve the issue before logging in using a non-Google application. A CAPTCHA is required. (A response with this error code will also contain an image URL and a CAPTCHA token.) The error is unknown or unspecified; the request contained invalid input or was malformed.

TermsNotAgreed

CaptchaRequired

Unknown

Dept. of ISE

17

T.C.E. Gadag.

GOOGLE CLOUD PRINT

AccountDeleted AccountDisabled ServiceDisabled

The user account has been deleted. The user account has been disabled. The user's access to the specified service has been disabled. (The user account may still be valid.) The service is not available; try again later. Table 4.2 Error Codes

ServiceUnavailable

4.2 Sync The Printers Status And Capabilities To The Cloud.


4.2.1 Syncing with the GCP Registry (/list)
As a first step whenever the printer comes online, it should check with the Google Cloud Print service and sync the printers status and capabilities with the listing in the cloud. This way the client does not need to maintain state with regards to what has been registered, and needs to retain only the Auth token provided when the user authenticated. The printer should call the List API using a proxy id (required) that the printer provides. The proxy id should be a unique attribute of the printer and is the only piece of information besides the Auth token that the printer needs to retain state with. The /list call will return a response with a success bit, and if the request was successful a list of printers. The printer returned by the /list function will contain attributes for the printers display name and id. The printer id is the key provided by Google Cloud Print by which you will fetch and manage jobs in the cloud. Optionally, the List API will also accept an object parameter specifying printer capabilities that should be included in the response object.

Dept. of ISE

18

T.C.E. Gadag.

GOOGLE CLOUD PRINT

4.2.1.1 Object Parameter Specifying Printer Capabilities


Common Output Control Parameters and Values These are the common parameters accepted by all the interfaces used by the proxy to control the output: output Controls the output format, which can be one of the following:

json xml text

objects Controls the granularity of the output:


capabilities: Dump the capabilities of the printer and print job options selected. all: Dump all the objects available for the output.

4.2.2 Registering a Printer


If a printer is not returned in the /list response, it can register itself using the Register API to report its capabilities to Google Cloud Print. To register a printer you submit a user readable name (required), your printers proxy id (required), a set of capabilities (required) and a set of defaults in either Microsoft XML Print Schema or PPD, strings for the printers description and status, and finally a hash value over the set of capabilities for easy comparison to see if theyve changed since last update. Since the Microsoft XML Print Schema and PPD files are probably too large to URL encode, youll want to submit them via multi-part http request.

Dept. of ISE

19

T.C.E. Gadag.

GOOGLE CLOUD PRINT

4.2.3 Updating a Printer


If a printer has already been registered but information about it has changed, because of errors, upgrades or breakdowns, you can use the Update API to rewrite any of the fields that were set on registration. The call to /update is the same as a call to /register, plus an additional parameter for the printer id (required) to be updated. However rather than returning a response object listing the printer and its id, /update will return only a Boolean success flag and an explanatory message.

4.3 Handling Print Jobs


4.3.1 Receiving print notifications
Notifications of waiting jobs will be distributed to printers using a persistent XMPP connection. The printer should initiate this connection with the Google Talk XMPP servers and This will require another ClientLogin token, this one for the talk service(service=chromium sync). For development purposes or for printers with at-device authentication the notification step can be skipped. Final production printers should not rely on frequent polling, however, as Google Cloud Print may throttle excessive use of the /fetch protocol.

4.3.2 Fetching Print Jobs


Whenever the printer comes online or receives notification of a waiting job, it should use the Fetch API to grab any available jobs in the queue. The /fetch call takes the printer id (required) as a parameter and returns the list of available jobs in the Queued state. Each job has an id, a title, a status, and two URLs: one for the job ticket (in either Microsoft XML Print Schema or PPD format, determined by the format in which the printer originally registered its capabilities) and one for the job file itself. For now the job is rendered into a pdf format - in the future we plan to support additional raster formats based on demand.

Dept. of ISE

20

T.C.E. Gadag.

GOOGLE CLOUD PRINT

4.3.3 Processing Print Jobs


As the printer completes jobs or encounters errors it can use the Control API to update the status of jobs for relay back to the user. The /control request takes as parameters a job id (required) and a status (SPOOLED, ERROR or DONE) as well as parameters for the error code and error message as returned by the printer OS. The /fetch protocol will only return jobs in the QUEUED state. The response will contain a success flag and an explanatory message. Authorization with the ClientLogin API is a step up from the "low-tech" approach, which required applications to include the user's login name and password in every request to a Google service. With programmatic login, Google issues a token that can be referenced in all subsequent requests. This approach offers several advantages, including: Performance is improved because login data is validated only once per session instead of with each request. Security is tightened by minimizing the number of times login data is transmitted per session. The authorization process can incorporate additional security measures, such as the use of CAPTCHAs. Authorization measures can be more easily enhanced and extended as required.

Here are few points which make Google Cloud Print user friendly : Google Cloud Print can print to your cloud ready printers, such as the ePrint line from HP. Google Cloud Print can also connect to your classic printers using Google Chrome for Mac or Windows. To connect your HP ePrint printer to Google Cloud Print, just submit your printer's email address. To connect your classic printer, you will need to install Google Chrome on a Mac or Windows computer that's connected to your printer. Once installed, enable the Google Cloud Print connector in Google Chrome. If your printer cant be reached at the time you submit your print job (e.g. the computer running the Google Cloud Print connector is turned off), your job will wait in the print
Dept. of ISE 21 T.C.E. Gadag.

GOOGLE CLOUD PRINT queue in the cloud. Your printer will download and print the job normally as soon as it comes back online. For your printer to be connected to the Google Cloud, you must be logged into your Windows user account. Just as when your printer is offline, if you are using the Google Chrome proxy and your Windows user account is logged off, jobs will be saved and fetched normally when you log back in. If you delete your printer by mistake or change your mind later, you can re-connect all the printers on your local device by signing back into Google Cloud Print. Google Cloud Print jobs are submitted and retrieved over https, and are available only to you and to the printer you submitted the job to. If documents are not printing: Make sure your Google Cloud Print connector is running on a computer with Mac or Windows (Linux support coming soon!). If you are using Windows XP , make sure you have the Microsoft XML paper specification pack installed. Confirm that the computer connected to your printer is powered on and that you are logged in. It keeps copies of all the documents but only for so long as the printing job is active and not complete. We have to do this to make sure your document gets printed. Once the job is complete, the document is deleted from our servers. Google keeps information about the print job in question (the job title, the printer you sent it to, printer status information) as a record, along with your Google Account ID. We need this information in order to process the jobs you send for printing, and to allow you to view and edit your printing history through the Cloud Print dashboard. Documents you send to print are your personal information and are kept strictly confidential. Google does not access the documents you print for any purpose other than to improve printing. You can see and edit these records through the Cloud Print dashboard at any time.

Dept. of ISE

22

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 5

Service Interfaces

Google Cloud Print service interfaces are used by a cloud print proxy. This proxy is a piece of software that enables any printer to register itself with Google Cloud Print, that runs on a computer connected to a non-cloud-aware printer a web service for printing. Once the printer is registered with the service, it can then receive jobs from and communicate status with Google Cloud Print. Use of Google Cloud Print enables platform- and format-independent printing. The proxy needs to authenticate the user's Google Account to communicate with Google Cloud Print for adding printers and getting the print jobs. This is done by using Clientlogin API.

5.1 Google Cloud Print Interface Reference


The following diagrams show the typical sequence of calls made by a cloud print proxy to register a printer and its attributes with Google Cloud Print, update this printer data, list all current printers registered for a given user, and delete a printer from the list of registered printers. Other interfaces allow a proxy to communicate current status of a print job (the control interface) and to fetch the next available job from Google Cloud Print for a specified printer.

5.1.1 Print Management /Register


This interface lets the proxy register printers. This should be an HTTP multipart request, since the request needs to upload significantly large printer capabilities and defaults file data. The capabilities and defaults parameters can be in XPS (XML Paper Specification) or PPD (Postscript Printer Description) formats. Parameters Printer: User readable name of the printer being registered (need not be unique). Proxy: Identification of the printer client or proxy (must be unique).

Dept. of ISE

23

T.C.E. Gadag.

GOOGLE CLOUD PRINT Capabilities: Printer capabilities (XPS or PPD) Defaults: Printer default settings (XPS or PPD). Status: Status string of the printere.g., Out of Paper, Online, etc. Description: Descriptive string about the printer. capsHash: A hash or digest value of the capabilities data. This value is useful, for example, to compare values and check whether the local printer's capabilities have changed.

Fig 5.1 Sequence of Calls Made By A Cloud Print Proxy

/Update
This interface enables the proxy to update various attributes and parameters of the printer registered with Google Cloud Print.

Dept. of ISE

24

T.C.E. Gadag.

GOOGLE CLOUD PRINT Parameters Printerid: Unique printer identification (generated by Google Cloud Print). Printer: User readable name of the printer being registered (need not be unique). Proxy: Identification of the printer client or proxy (must be unique). Capabilities: Printer capabilities (XPS or PPD). Defaults: Printer default settings (XPS or PPD). Status: Status string of the printere.g., Out of Paper, Online, etc. Description: Descriptive string about the printer. capsHash: A hash

/Delete
This interface enables the proxy to delete a printer from Google Cloud Print. Parameters Printerid: Unique printer identification (generated by Google Cloud Print).

/List
This interface provides a listing of all the printers for the given user. It can be used by the proxy to compare the printers registered and available locally. If the proxy is connected to multiple printers, this interface is useful to keep the local printers and printers registered with Google Cloud Print in sync. With this interface, the proxy does not need to maintain a state or mapping of the local printers and needs to store only the unique proxy ID required as a parameter. Parameters Proxy: Identification of the proxy, as submitted while registering the printer.

Dept. of ISE

25

T.C.E. Gadag.

GOOGLE CLOUD PRINT

Fig 5.2 GCP Service Interface Reference

5.1.2 Job Management Google Talk XMPP Server


Google Cloud Print can provide print job availability notification through Google Talk, using a persistent XMPP connection. The proxy should initiate this connection to Google Talk XMPP servers and subscribe to the printing notification. This XMPP connection also needs an authentication token as with the HTTP requests. The proxy can use frequent polling of available jobs using the /fetch interface.

Fetch
This interface is used by the proxy to fetch the next available job for the specified printer. Parameters Printerid: Unique printer identification (generated by Google Cloud Print).

Dept. of ISE

26

T.C.E. Gadag.

GOOGLE CLOUD PRINT

Control
Parameters Jobid: Unique job identification (generated by server). Status: Status of the job, which can be one of the following:

QUEUED: Job just added and has not yet been downloaded. SPOOLED: Job downloaded and has been added to the client-side native printer queue.

DONE: Job printed successfully. ERROR: Job cannot be printed due to an error.

Code: Error code string or integer (as returned by the printer or OS) if the status is ERROR. Message: Error message string (as returned by the printer or OS) if the status is ERROR The following diagram shows the transitions between the four job status states:

Fig 5.3 Job Status State Transitions

Dept. of ISE

27

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 6

ADVANTAGES
Google associate printers with a Google account and manage them the same way as you manage Google Docs documents, so you can share them with other people. Web applications can use APIs to customize the printing options and change the user interface displayed when you start printing a document. "It is believed cloud printing has tremendous benefits for end users and for the industry and is essential, given the rapid shift toward cloud-based applications and data storage. We also believe that the only way that the benefits of cloud printing can be realized is if the protocols are open, freely implementable, and, when possible, based on existing industry standards. We expect there to be multiple cloud print services, and users should have a choice in which services they use and which printers they can connect to a service ". Google Cloud Print makes the mobile printing experience easier for users. Configuring Chrome, adding printers and printing are simple, despite a few reports of failed print jobs. Google Cloud Print is printer-manufacturer-neutral: users can send a job to any printing device that has been added to the service through Chrome.

Access to printers anywhere anytime. Works with all types of devices No need of driver software. No need of any network configuration. Any type of document can be printed. Saves time and cost

Dept. of ISE

28

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 7

LIMITATIONS

However, this beta release has several limitations that will constrain adoption until they are addressed:

Users can only print e-mails and attachments from mobile Gmail, and documents from mobile Google Docs. Google told Gartner that future releases will integrate with more Google services, and offer APIs to connect to third-party products.

Consumers will need to keep their PCs switched on for jobs to print, because their PCs will be hosting the cloud connector. For enterprise users, the connector can be deployed on the print server.

Cloud Print works via the latest beta of Google Chrome Windows and Macintosh only. Google says it will support other operating systems at some point in the future, but gave no timeline.

Cloud Print does not use location-based technology to identify available printers, limiting its usefulness when the user is "out and about" and seeking a nearby printer.

The tokens returned by ClientLogin expire every 28 days and require reauthentication. Still research is going to overcome this.

Dept. of ISE

29

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 8

CONCLUSION

While its still very early in the life of Google Cloud Print, so far it shows some promise. The biggest thing going for it so far is that its very easy to setup. The whole process from setup to print took us no more than a few minutes. One of the things going against it however, is its lack of ubiquity. The fact that you have to use Chrome will be a problem for the 90% of Internet users who use something else other than Chrome. If other browsers like IE or Firefox adopted this, then a lot more users would be able to get in on the action. Additionally, its nice that its out for Windows PC users, but Linux users are currently being left out. That said, its great to see Google tackling this problem. As mobile phone use continues to grow and as more and more tablets start to be released into the wild, its nice to know there is an option out there to print your documents from your mobile device without having to spend money on a new printer. It may seem that Google's solution is complicated and difficult to implement: we need an open standard for cloud printing, cloud-aware printers and users need to associate printers with an online service. Instead of sending the printing job directly to the printer, you'll send it to the online service, which forwards it to the printer. Despite all these hurdles, Google Cloud Print allows you to print documents from a mobile phone, tablet, notebook or any other mobile device. You'll be able to print files from an Android phone or tablet, from a Chrome OS computer, from any computer that runs Google Chrome and from other devices that will support Google Cloud Print.

Dept. of ISE

30

T.C.E. Gadag.

GOOGLE CLOUD PRINT

CHAPTER 9

REFERENCES

http://www.google.com/cloudprint/interface/ downloadsquad.switched.com readwriteweb.com http://googleappsupdates.blogspot.com/2011/01/print-from-your-phone-withgmail-for.html http://www.google.com/support/cloudprint/?hl=en http://www.google.com/cloudprint/ PCworld.com http://jai-on-asp.blogspot.com/2011/03/google-cloud-print-cloud-computingin.html?

Dept. of ISE

31

T.C.E. Gadag.

Das könnte Ihnen auch gefallen