This Patent Application has received a "final rejection" by the US Patent Office. An applicant has several ways to keep an application in this state alive. They include a request for continuing examination. It just involves paying more fees and responding to the rejection. Appealing the rejection is another avenue. If nothing is done it will go abandoned six months from the final rejection.

Thanks to YOU, the Ask Patents community, overly-broad claims have at least been narrowed. Follow @askpatents to block more overly-broad patent applications.

A PATENT APPLICATION ON updating apps on mobile devices to restricted "dummy" apps This application from Good Technologies seeks to patent the idea of...deleting sensitive information on a device by creating dummy apps. 10 minutes of your time can help narrow US patent applications before they become patents. [Follow @askpatents] (https://twitter.com/AskPatents) on twitter to help.

QUESTION - Have you seen anything that was published before 12/21/2010 that discusses the following?

A management system for apps on mobile devices where apps are updated to dummy apps that, when invoked, destroy the respective apps' sensitive data.

For example:

Your company has as "Bring Your Own Device" policy. The company email app on your personal phone is "updated" to a new version. Then, when you launch that app, it will delete all the company email on your device and present a "YOU'RE FIRED" message instead of an inbox view.

Another example would be having version 1.0 of a game updated to a limited trial of version 2.0 that encrypts your old save file on first being run.

Please note that standard mobile app management/mobile device management platforms do not necessarily anticipate the invention. That is, remote deletion of an application and/or data is not sufficient to meet the claim limitations. It's critical that the prior art disclose updating/modifying the app to a restricted functionality "dummy" version and for the updated app to itself delete/modify the existing data upon being run.

TITLE: System and Method for Remote Management of Applications Downloaded to a Personal Portable Wireless Appliance

A system for downloading and monitoring applications, programs and data structures to a personal portable appliance coupled to a server via a network configured to:

determine that the appliance is connected;

generating a connection request from the appliance;

authenticating the appliance;

determining that one or more applications must be updated;

receiving at least one updated application comprising a dummy application such that when the application is invoked the data structures of the previous application are manipulated;

modifying the functionality of the application; and

offering the user one or more indications that the application is restricted or limited.

Good prior art would be evidence of a system that did each and every one of these steps prior to 12/21/2010. (Please note that although that this patent application is a continuation-in-part of earlier-filed parent cases, the claimed invention is not supported by the disclosure of the parent cases, rendering the actual filing date the effective filing date.)

The application claims Continuation in Part and a chain of multiple Continuations - the earliest filed Feb. 15, 2008 and published as US 2008/0201453.
–
Ron J.Aug 14 '13 at 11:55

@Micah: Looking at the examiner's rejection, and the list of references he cites, I can't see any indication that his rejection was based on the stackexchange prior art. * portal.uspto.gov/pair/view/… * portal.uspto.gov/pair/view/… ...Where does the stackexchange prior art get cited?
–
JoeGOct 5 '13 at 2:46

9 Answers
9

This Patent Application received a non-final rejection by the US Patent Office! The rejection was based in part on prior art found by Ask Patents community in this answer!

This functionality was part of the Java ME specification (http://jcp.org/en/jsr/detail?id=37). When an application was updated or replaced, the data associated could be manipulated or destroyed. In this case, a MIDlet is the term used for the mobile application.

When a MIDlet suite is removed from a platform all the record stores
associated with its MIDlets will also be removed. These APIs only
allow the manipulation of the MIDlet suite's own record stores, and
does not provide any mechanism for record sharing between MIDlets in
different MIDlet suites. MIDlets within a MIDlet suite can access each
other's record stores directly.

Egeberg teaches the concept of a "Stealing Midlet" which he describes as:

*Upgrade a previously installed MIDlet

*The RMS will not be erased

*Read the stored information

*Identical values in the JAD file

*Can be used to inject Trojan code

The Stealing Midlet is therefore identical to the concept of the "dummy app" in the present patent filing: it is a dummy application which overwrites the currently installed app for the sole purpose of accessing and/or manipulating that app's stored data.

The claims do not seem to be restricted to the case where a specific user has this occur, eg. the case of an employee being fired. They would also cover the case where all users of the app experience the same effect.

In principle therefore, any system with an automatic-update infrastructure (which happens to run on a "personal portable device" (which, as far as I'm concerned, includes a standard PC laptop) is therefore capable of this functionality. It would be interesting to unearth cases where this has actually happened on various Linux distributions, Windows 98 and later, MacOS X, etc.

I did find one well-known case so far where this seems to have happened, namely the PlayStation 3 crippling event between March-April 2010. The problems are that the PS3 is not a "personal portable device", and Sony did as little as possible to inform users about the removed functionality, rather than advertising it.

It's hard to tell, but the Windows Vista anti-piracy measures from 2006 might qualify, as long as a PC laptop counts as an appropriate device. I forget, however, whether that is implemented via the software-update mechanism or whether it is built-in upon install. If not Vista, then perhaps the anti-piracy measures for Windows XP qualify.

request available updates;
receive an update catalog for available updates, wherein said updates are selected from the group consisting of discretionary updates and mandatory updates;

and this part of US20060073820's claim 6:

execute a stub application, said stub application automatically querying a remote source for a full application;
receive said current application from said remote source;
automatically install said full application; and
automatically execute said full application.

and this explanation:

Further, in an exemplary embodiment of the present invention, by invoking the update application described below, a user's data (including programs and operating system data) on a wireless mobile device can be updated without the user needing to intervene.
...

Briefly, the update application on the wireless mobile device can update itself, update applications from a remote server, monitor a catalogue of application updates and additions on the server, monitor user activity via a unique device ID and/or other unique identifiers, launch by stub applications asking to be replaced by full applications...

As noted above, the update application may be activated in a number of different ways: (1) It may be launched as a normal stand alone application as to any other application launched on the wireless mobile device. (2) It may be launched by a stub application, with a specific path, to replace the stub application with its intended application (after download and successful install). To the user, they would launch the stub application, see a download in progress screen, followed by the actual application starting up.

The US20060073820 patent primarily discusses replacing a "stub application" with a full application. This filing on the other hand discusses replacing a full application with a "dummy application". (The terms dummy and stub are clearly equivalent in this context). However the US20060073820 patent anticipates such obvious tweaks to the sequence of events and lays claim to them too:

...it will be appreciated that while the processes and communication-interactions and the present interaction have been described in a particular order, those of ordinary skill in the art and other will appreciate that other orders of processes and/or communication interactions will also fall within the spirit and scope of the present invention.

These claims, explanatory notes, and caveats against obvious modifications to the sequence of events, together appear to anticipate and invalidate claims 1.1 to 1.6 of the present filing.

Apple raised hackles in computer-privacy and security circles when an
independent engineer discovered code inside the iPhone that suggested
iPhones routinely check an Apple Web site that could, in theory
trigger the removal of the undesirable software from the devices.

Mr. Jobs confirmed such a capability exists, but argued that Apple
needs it in case it inadvertently allows a malicious program -- one
that stole users' personal data, for example -- to be distributed to
iPhones through the App Store. "Hopefully we never have to pull that
lever, but we would be irresponsible not to have a lever like that to
pull," he says.

Would you like to develop "self-updating" applications? If so, the Updater Application Block for .NET is for you.

The Updater Application Block is a .NET component that you can use to detect, validate, and download application updates deployed in a central location. By using the Updater Application Block, you can keep desktop applications up to date with little or no user intervention. You can also extend the Updater Application Block to use custom classes for downloading and validating files, performing post-deployment configuration tasks, and controlling the update process.

...
A post-processor is a class that performs any post-deployment configuration tasks that your updated application might require (such as editing registry values, creating message queues, and so on).

Steps 3 to 5 in "Updating applications with the Updater Application Block" appear to anticipate and invalidate all claims in the current filing:

*3. The application updater periodically initiates the update process. When this happens, the application updater uses the specified downloader to copy the manifest file for each application specified in the application configuration file to the client. If updates are available, the downloader copies the updated files to a temporary directory on the client.

*4. The application updater loads the specified validator and validates the downloaded files. If the files are valid, they are copied to the appropriate application folder and the configuration file for the application launcher is updated to reflect the new version.

*5. If a post-processor was specified in the manifest, the application updater loads and executes it.

Apart from the trivial modification in the present filing of being specifically used to downgrade or delete an application, this Microsoft invention appears to completely invalidate the present patent application.

This Patent Application received a non-final rejection by the US Patent Office! The rejection was based in part on prior art found by Ask Patents community in this answer!

Published in July 2006, patent US 7072913 B2: "Method, system and computer program for executing hot migrate operation using migration plug-ins" covers some of the claims in the present filing.http://www.google.com/patents/US7072913
Selected claims:

*1. A method for executing a hot migrate operation from a first version of a service using a first data model, to a second version of the service using a second data model that is modified with respect to the first data model, the service comprising a client application, a data manager and a data repository, said method comprising the steps of:

installing at least one second version client application;

*4. A method as claimed in claim 1, wherein the incremental roll-over process is terminated when all data are migrated to the second version data repository, and thereafter the first migration plug-in is replaced by a null stub.

The accompanying text also states:

...the present invention is equally applicable to down-migrate a service (e.g., switching from N version to N−1 version). Such situation may arise for example when a new version appears to be not yet stable and a return to the previous version is required.

This appears to overlap substantially with claims 5 and 6 in the present filing:

*5. receiving at least one updated application comprising a dummy application such that when the application is invoked the data structures of the previous application are manipulated;

Back in about 1992 I was lead developer on a project that did exactly this.

Field supervisors had HP Pocket computers. The pocket computer was very similar to todays cell phones, it ran programs in other words APPS. It had a keyboard and display. It did not support voice calls, instead it used a modem to connect to our server.

Twice a day (morning and evening) they would connect by modem to our server. We would send both data and software updates to their pocket computer and it would send us data that comprised the status info for the things that they were supervising. This was all automated under the control of our software.

Our concern was with theft rather than with firing, but it was the same result.

We actually had two different self destruct mechanisms. One was a deadman timer in case they did not connect within a certain number of days for an update. The other was a program that we could download to their computer as part of the daily software update, which would cause the erasure of everything on their computer. We could queue this for download using our control system UI. We called it the Bonzai program, it was downloaded as a replacment for the original program, when run it wiped out all data.

Note: we did not have to send out a daily software update (only when there were changes), but the pocket computer would check every time that it connected to see if there was an update available. We had a system in which we queued up the files to be downloaded. Some of which were executable and others that were just data.

How is any of this NON-OBVIOUS?? eh gad these patents are krap!!!

It would take some digging, but I may still have a copy of that program around somewhere.

The documentation/manuals, webpage cache, or other dated proof would be useful.
–
Ron J.Oct 9 '13 at 13:55

As Ron said, any sort of dated evidence of this software would be invaluable in the patent prosecution process. In order to reject a patent claim, the patent office must demonstrate that all of the claimed elements were disclosed by particular earlier-dated documents (either one document alone or an "obvious" combination of multiple documents). If the patent office doesn't have access to the documentation for the HP system you discussed above, they won't be able to make a rejection on those grounds.
–
user4545Oct 11 '13 at 13:19

hmm, define "disclosed"? this was a in-house project and only used by employees of the company. would that still count? the only documentation would be a copy of the program itself... if I can find it.
–
codeslingerOct 13 '13 at 2:19

It would have had to have been in public use, offered for sale (either directly or indirectly), or published in a publicly accessible fashion. Anything that was for internal/secret use only probably wouldn't qualify.
–
user4545Oct 28 '13 at 13:51

nuts, guess I can't be of much help then. but at least there is a trivial work-around, just have the program check for a flag file and have the destruct code already built in. The biggest problem with the patent system as it currently exists is that the Non-Obvious criteria is not enforced in any meaningful way. As a practitioner skilled in the field, it took me all of 5 minutes to come up with the Bonsai (self-destructing program) concept. The method is a logically deducible result of the criteria/specification, it requires no special thought or technique. The patent is an abomination.
–
codeslingerOct 30 '13 at 19:07

A trojan is not normally provided by an management server as an update to an installed application, however, per the claimed system. That said, the examiner did use a reference relating to a trojan in the rejection of September 9, 2013, albeit in combination with another reference.
–
user4545Mar 29 '14 at 1:58