(12) Ulllted States Patent (10) Patent N0.: US 7,437,149 B1 Papineau Et A]
Total Page:16
File Type:pdf, Size:1020Kb
US007437149B1 (12) Ulllted States Patent (10) Patent N0.: US 7,437,149 B1 Papineau et a]. (45) Date of Patent: Oct. 14, 2008 (54) METHOD AND SYSTEM FOR EXCHANGING 2002/0129129 A1 9/2002 Bloch et al. DATA BETWEEN PORTABLE APPLICATIONS 2003/0135851 A1 7/2003 Dickey et al. FOR MOBILE DEVICES 2003/0181193 A1* 9/2003 Wilhelmsson etal. ..... .. 455/403 2003/0182626 A1 9/2003 Davidov et al. (75) Inventors: Scott Papineau, Shawnee Mission, KS 2004/0034853 A1 2/2004 Glbbons et a1‘ _ _ 2004/0111315 A1 6/2004 Sharma et al. ms)’ Jon mm?“ Reno’ NV ms)’ 2004/0111699 A1 6/2004 Rockwell Dana Myers’ Falr?eld, CA (Us) 2004/0123105 A1 6/2004 Himmel et a1. _ _ 2004/0127190 A1* 7/2004 Hansson et al. ........... .. 455/403 (73) Asslgneei SPYIIIt Spectrum L-P-, Overland Park, 2004/0152457 A1 8/2004 GOlCIStelIl et al. KS (Us) 2004/0186918 A1 * 9/2004 Lonnofors et al. ........ .. 709/250 2004/0243519 A1 12/2004 Perttila et a1. ( * ) Notice: Subject to any disclaimer, the term of this 2004/0248561 A1 12/2004 Nykanen et a1. patent is extended or adjusted under 35 2005/0009469 A1 l/2005 Kotola U.S.C. 154(b) by 434 days. OTHER PUBLICATIONS (21) APP1~ NOJ 10/808-1120 Article entitled “Sprint PCS J2ME Application Environment”, dated Feb. 6, 2002, by Papineau.* (22) Fi1ed3 Mar- 239 2004 US. Appl. No. 11/455,370, Inventor: Scott Papineai, Filing Date: (Under 37 CFR 1.47) Jun. 19, 2006. US. Appl. No. 11/455,380, Inventor: Scott Papineau, Filing Date: Related US. Application Data Jl1I1~ 19, 2006 US. Appl. No. 10/761,748, Inventor: Scott Papineau, Filing Date: (60) Provisional application No. 60/457,001, ?led on Mar. Jan, 21, 2004, 24, 2003, provisional 81313110811011 NO- 60/457,010, US. Appl. No. 10/808,271, Inventor: Scott Papineau, Filing Date: ?led on Mar. 24, 2003. Mar. 23, 2004. Of?ce action mailed on Mar. 25,2008 for US. Appl. No. 10/808,271. (51) [111; CL EX parte Simpson and Roberts, 218 USPQ 1020 (Board of Patent H04M 3/00 (200601) Appeals and Interference), opinion dated Mar. 31, 1982. (52) US. Cl. ...................... .. 455/418; 709/217; 709/224 * Cited by examiner (58) Field of Classi?cation Search ............... .. 709/250, _ _ _ 709/217, 224; 707/200; 455/418 Prlrnary ExammeriTlm V0 _ _ See application ?le for complete search history. Asslsmm ExammeriMahesh H DWlVedl (56) References Cited (57) ABSTRACT U'S' PATENT DOCUMENTS A mobile information device may execute a Java MIDlet or a 6,601,169 B2 7/2003 Wallace, Jr. et al. non-MIDlet application. The mobile information device may 6,628,767 B1 9/2003 Wellner et al. further include an application management system that 6,754,621 B1 6/2004 Cunningham et a1~ alloWs one or more object-oriented object classes to alloW 6,959,309 B2* 10/2005 Su 61:11. ................... .. 707/200 input and Output data to be Communicated between Java 7,079,839 B1 7/2006 paplneau MIDlets in different MIDlet Suites and betWeen non-MIDlet 7,092,703 B1 * 8/2006 Paprneau .................. .. 455/418 a lications 2001/0034771 A1 10/2001 Hutsch et al. pp ' 2002/0069263 A1 6/2002 Sears et al. 2002/0116633 A1 8/2002 Kobayashi et al. 30 Claims, 16 Drawing Sheets 22 PROFILES 3A JAVA LIBRARIES i2 CONFIGURATIONS JAVA VIRTUAL 28 MACHINE 1Q NATIVE OPERATING SYSTEM MOBILE INFORMATION DEVICE HARDWARE JZME ARCHITECTURE US. Patent 0a. 14, 2008 Sheet 1 0f 16 US 7,437,149 B1 FIG. 1 ELECTRONIC CONTENT 16 REQUEST WIRELESS e.g., GATEWAY WWW 20 RESPONSE 14 US. Patent 0a. 14, 2008 Sheet 2 0f 16 US 7,437,149 B1 FIG. 2 22 PROFILES .35 JAVA LIBRARIES Q CONFIGURATIONS __________________________________________________________ "x JAVA VIRTUAL 28 MACHINE Q NATIVE ---------------------------------- __ OPERATING _\ SYSTEM 26 MOBILE INFORMATION DEVICE \ HARDWARE 24 J2ME ARCHITECTURE US. Patent Oct. 14, 2008 Sheet 3 0f 16 US 7,437,149 B1 36 RMl PERSONAL 5.2. 55 J2ME PROFILES M MIDP PDA FOUNDATION E M 5.9 CLDC CDC Q Q J2ME CONFIGURATIONS Q KVM CVM E E NATIVE OPERATING SYSTEM E MOBILE INFORMATION DEVICE HARDWARE 3 J2ME ARCHITECTURE US. Patent 0a. 14, 2008 Sheet 4 0f 16 US 7,437,149 B1 FIG. 4 56 MICRO-BROWSER Q2 J2ME MIDLETS Q J2ME JAM Q J2ME PROFILES J2ME MIDP i4 4_2 J2ME CLDC Q2 J2ME CONFIGURATIONS Q NATIVE OPERATING SYSTEM Q MOBILE INFORMATION DEVICE HARDWARE 2 12/ US. Patent 0a. 14, 2008 Sheet 5 0f 16 US 7,437,149 B1 FIG. 5 64 / K66 K74 [-78 CHOOSE A GAME BUY A GAME DOWNLOADING 1. PAC MAN g. ASTEROIDS ASTEROIDS1. BUY (2) INSTALLING . FOR $599 ASTEROIDS WEB PAGE DISPLAY WEB PAGE DISPLAY J2ME JAM 58 DISPLAY __________________________ __ MICRO-BROWSER E - g ; JAR ; J2ME MIDLETS 5 FILE 5 Q i 19 ? NETWORK J2ME JAM 5 _/1 5 TRANSFER g a E 68 : JAD = \ J2ME MIDP FILE : 76 4_2 ........... __________ J2ME CLDC MlDlet APPS 78 Q WEB SERVER J2M §8KVM NATIVE OPERATING SYSTEM 2_s MOBILE INFoRMATIoN DEVICE HARDWARE 24 12 US. Patent Oct. 14, 2008 Sheet 6 0f 16 US 7,437,149 B1 FIG. 6 80 STARTAPP() PAUSED > ACTIVE NEW( )--> Q Q T PAUSEAPP() DESTROYED -——————-—> @ <— DESTROYAPH ) DESTROYAPP( ) US. Patent Oct. 14, 2008 Sheet 7 0f 16 US 7,437,149 B1 FIG. 7 88 package com.sprintpcs.util { [90 public class System ( ) { llpass output data to other MlDlets llor other non-MlDlet applications public class Muglet( ) 92/ { llaccept input from other MlDlets llor other non-MlDlet applications US. Patent 0a. 14, 2008 Sheet 8 0f 16 US 7,437,149 B1 FIG. 8 94 EXECUTE A J2ME MIDLET ON A MOBILE INFORMATION DEVICE, WHERE THE MIDLET HAS AN OBJECT-ORIENTED METHOD IN AN OBJECT-ORIENTED OBJECT CLASS ’\ AVAILABLE FOR SETTING OUTPUT DATA FROM A MIDLET IN 96 A MIDLET SUITE I SET OUTPUT DATA FROM THE MIDLET BEFORE THE MIDLET IS TERMINATED ON THE MOBILE INFORMATION DEVICE USING THE OBJECT-ORIENTED METHOD IN THE OBJECT ORIENTED CLASS, WHERE THE OUTPUT DATA IS AVAILABLE TO AN APPLICATION MANAGEMENT SYSTEM /\ ON THE MOBILE INFORMATION DEVICE AND CAN BE USED 98 BY OTHER MIDLETS IN THE SAME OR OTHER MIDLET SUITE OR NON-MIDLET APPLICATIONS ON THE MOBILE INFORMATION DEVICE. US. Patent 0a. 14, 2008 Sheet 9 0f 16 US 7,437,149 B1 FIG. 9 10° INVOKE A J2ME MIDLET FROM AN APPLICATION MANAGEMENT SYSTEM ON THE MOBILE INFORMATION DEVICE, WHERE THE MIDLET HAS PLURAL OBJECT ORIENTED METHODS IN AN OBJECT-ORIENTED OBJECT \ CLASS AVAILABLE FOR USING INPUT DATA CREATED BY 102 OTHER MIDLETS l ACCEPT INPUT DATA CREATED BY ANOTHER MIDLET FROM THE APPLICATION MANAGEMENT SYSTEM ON THE MIDLET USING ONE OR MORE OF THE PLURALITY OF OBJECT- \ ORIENTED METHODS FROM THE OBJECT ORIENTED CLASS 104 US. Patent 0a. 14, 2008 Sheet 10 0f 16 US 7,437,149 B1 FIG. 10 106 INVOKE A J2ME MIDLET FROM AN APPLICATION MANAGEMENT SYSTEM ON THE MOBILE INFORMATION DEVICE AS A MIDLET HANDLER, WHERE THE MIDLET HANDLER HAS PLURAL OBJECT-ORIENTED METHODS IN '\ AN OBJECT-ORIENTED OBJECT CLASS AVAILABLE FOR 108 USING INPUT DATA CREATED BY OTHER MIDLETS; I CALL AN OBJECT-ORIENTED METHOD IN THE OBJECT ORIENTED OBJECT CLASS TO DETERMINE WHAT TYPE OF INPUT DATA FROM ANOTHER MIDLET WILL BE PROCESSED BY THE MIDLET HANDLER, WHEREIN THE FlRST-OBJECT- \ ORIENTED METHOD RETURNS A RETURN VALUE 110 I PROCESS THE INPUT DATA BASED ON THE RETURN VALUE BY CALLING ONE OR MORE OTHER OBJECT-ORIENTED “ METHODS IN THE OBJECT-ORIENTED OBJECT CLASS 112 INVOKE ANOTHER MIDLET FROM THE MIDLET HANDLER USING THE PROCESSED INPUT DATA \ 114 US. Patent 0a. 14, 2008 Sheet 12 0f 16 US 7,437,149 B1 200 ACCEPT INPUT DATA FROM AN APPLICATION ON A MOBILE INFORMATION DEVICE I 202 PASS THE INPUT DATA TO A FIRST JAVA MIDLET IN A FIRST MIDLET SUITE ON THE MOBILE INFORMATION DEVICE FIG. 12 US. Patent 0a. 14, 2008 Sheet 13 0f 16 US 7,437,149 B1 220 ACCEPT INPUT DATA FROM A FIRST JAVA MIDLET IN A FIRST MIDLET SUITE ON THE MOBILE INFORMATION DEVICE l 222 PASS THE INPUT DATA TO AN APPLICATION ON THE MOBILE INFORMATION DEVICE FIG. 13 US. Patent 0a. 14, 2008 Sheet 14 0f 16 US 7,437,149 B1 240 RECEIVE OUTPUT DATA FROM A FIRST MIDLET IN A FIRST MIDLET SUITE ON THE MOBILE INFORMATION DEVICE, WHEREIN THE OUTPUT DATA IS RECEIVED BEFORE THE FIRST MIDLET TERMINATES I 242 LAUNCH AN APPLICATION ON THE MOBILE INFORMATION DEVICE J I 244 PASS THE OUTPUT DATA TO THE APPLICATION J FIG. 14 US. Patent 0a. 14, 2008 Sheet 15 0f 16 US 7,437,149 B1 260 RECEIVE OUTPUT DATA FROM AN APPLICATION ON A MOBILE INFORMATION DEVICE I 262 LAUNCH A FIRST MIDLET IN A FIRST MIDLET SUITE ON THE MOBILE INFORMATION DEVICE I 264 PASS THE OUTPUT DATA TO THE FIRST MIDLET FIG. 15 US. Patent 0a. 14, 2008 Sheet 16 0f 16 US 7,437,149 B1 280 RECEIVE INPUT DATA FROM A FIRST MIDLET IN A FIRST MIDLET SUITE ON THE MOBILE INFORMATION DEVICE I no N DETERMINE A TYPE OF THE INPUT DATA \N I no A DETERMINE THAT A SECOND MIDLET IN A SECOND MIDLET SUITE IS REGISTERED TO HANDLE THE TYPE \N OF THE INPUT DATA I on 01 LAUNCH THE SECOND MIDLET ON THE MOBILE \N INFORMATION DEVICE I 00 00 PASS THE INPUT DATA TO THE SECOND MIDLET \N FIG. 16 US 7,437,149 B1 1 2 METHOD AND SYSTEM FOR EXCHANGING compiled into byte-code and run in a special softWare envi DATA BETWEEN PORTABLE APPLICATIONS ronment knoWn as a “virtual machine.” This and other char FOR MOBILE DEVICES acteristics of Java make it a useful language for programming a large number of different types of applications for mobile RELATED APPLICATIONS devices.