IP Library Granted Patent US 9,672,114
Granted Patent B2
US 9,672,114 · App. 14/338,301 · Granted Jun 6, 2017

Conditional saving of input data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,672,114
App. No.
14/338,301
Granted
Jun 6, 2017
Kind
B2
Abstract

This document relates to preserving input data. One example includes obtaining a request that a service perform processing on input data to produce an output representation of the input data. This example also includes applying criteria to the request, and preserving the input data responsive to determining that the criteria are met.

Claims (35)

1. A method performed by at least one computing device, the method comprising:

obtaining, by at least one server, a request that a service perform processing on input data to produce an output representation of the input data;

determining, by applying criteria to the request, that the service cannot perform the processing on the input data to produce the output representation; and

responsive to determining that the service cannot process the input data, preserving the input data.

2. The method of claim 1 , wherein the input data comprises a document for the service to render to obtain the output representation.

3. The method of claim 1 , wherein applying the criteria to the request comprises evaluating computer resources used to perform the service.

4. The method of claim 1 , wherein applying the criteria to the request comprises evaluating the output representation of the input data.

5. The method of claim 1 , wherein the request is on behalf of a user having associated cloud storage, and the preserving the input data comprises storing the input data in the associated cloud storage of the user.

6. A cloud computing system comprising:

one or more hardware processing units; and

one or more computer-readable storage devices storing computer-executable instructions which, when executed by the one or more hardware processing units, cause the cloud computing system to:

receive a service request over a network, the service request comprising input data;

determine that the service request indicates that the input data should not be persisted by the cloud computing system;

detect a failure after beginning to process the service request;

determine, based on the failure, that the service request cannot be performed; and

responsive to detecting a failure, override the service request by persisting the input data.

7. The cloud computing system of claim 6 , wherein the computer-executable instructions cause the cloud computing system to:

persist the input data by storing the input data in cloud storage.

8. The cloud computing system of claim 6 , wherein the computer-executable instructions cause the cloud computing system to:

persist the input data by embedding the input data as an object in a document.

9. The cloud computing system of claim 8 , wherein the cloud computing system provides a digital notebook cloud service and the object is embedded in a digital notebook.

10. The cloud computing system of claim 9 , wherein the service request is a request to render the input data.

11. The cloud computing system of claim 10 , wherein the input data comprises a portable document format file.

12. The cloud computing system of claim 6 , wherein the computer-executable instructions cause the cloud computing system to:

detect the failure by applying criteria to at least one of the input data, an output of the service request, or computer resources used to process the service request.

13. A method performed by at least one computing device, the method comprising:

obtaining, by at least one server, a service request having input data, wherein the service request includes a request to return an output to a client;

processing the input data to form the output;

applying criteria to the output, wherein applying the criteria comprises evaluating the size of a memory footprint of the output; and

responsive to detecting that the output of the service request satisfies the criteria, preserving the input data of the service request;

sending an error message to a client that the service request cannot be processed.

14. The method of claim 13 , wherein applying the criteria further comprises determining whether any components of the output have memory footprints exceeding a threshold.

15. The method of claim 13 , wherein applying the criteria further comprises determining whether storing the output causes a storage quota to be exceeded.

16. The method of claim 15 , wherein the storage quota comprises a cloud storage quota associated with a user account.

17. The method of claim 16 , wherein the preserving the input data comprises storing the input data in cloud storage associated with the user account.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039025/0454 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2014
From: CALIZ, CHRISTOPHER; HOLLEY, BRIAN; AKSELROD, GREG; JAMES, RYAN; ZHEN, YAN; JONES, GARETH A.; AMIRAULT, DANNY
To: MICROSOFT CORPORATION
Reel/Frame 033368/0124 →