throbber
(19) United States
`(12) Patent Application Publication (10) Pub. No.: US 2002/0069263 A1
`Jun. 6, 2002
`Sears et al.
`(43) Pub. Date:
`
`US 20020069263A1
`
`(54) WIRELESS JAVA TECHNOLOGY
`
`(76) Inventors: Mark Sears, Calgary (CA); Tim
`Rahrer, Ottawa (CA); Stephen
`Gargan, San Diego, CA (US); Vincent
`Deschenes, OttaWa (CA)
`
`Correspondence Address:
`Zucotto Wireless
`c/o Mark Wards
`Suite 400
`4225 Executive Square
`La Jolla, CA 92037 (US)
`
`(21)
`(22)
`
`Appl. No.:
`
`09/966,345
`
`Filed:
`
`Sep. 28, 2001
`
`Related US. Application Data
`
`(63)
`
`Non-provisional of provisional application No.
`60/240,454, ?led on Oct. 13, 2000. Non-provisional
`
`of provisional application No. 60/307,965, ?led on
`Jul. 26, 2001. Non-provisional of provisional appli
`cation No. 60/247,403, ?led on Nov. 9, 2000. Non
`provisional of provisional application No. 60/316,
`734, ?led on Aug. 31, 2001.
`
`Publication Classi?cation
`
`Int. Cl.7 ................................................... .. G06F 15/16
`
`US. Cl. ............................................................ .. 709/218
`
`ABSTRACT
`
`(51)
`(52)
`
`(57)
`
`An apparatus, method, and means are provided for seamless
`and optimized interaction betWeen users, devices, and appli
`cations located in a network environment. The applications
`may be Java or J ava-like applications, and the devices may
`be mobile communication devices.
`
`User data, BClII‘v'lt'y'
`log, preferences,
`dewce capabillhes,
`processor, etc.
`
`Datab
`age
`
`5*
`1
`213 :
`
`Infe mwwemr wastes.
`mm:
`- wiaizie ?nch 5pm
`» 5m. Poms
`* W W mmmmm
`mi mmm
`“Wm-mm
`
`101 Java Application
`Repositow
`mama's
`
`mun“
`
`Java Application
`Dwelwer
`
`$585k
`
`Add
`
`Upgrade
`
`140
`
`IE]
`Usey
`Devlce
`
`JAM
`105
`
`3am‘; Appiica?mt
`Search Engine
`1 I33
`
`4} mi: éngnes updated 2:)
`te?eei Que me mam
`
`witnessed “ligated are: moment emmm
`
`Netflix v. VideoLabs
`IPR2023-00628
`Netflix. Ex. 1014
`
`

`

`Patent Application Publication
`
`Jun. 6, 2002 Sheet 1 0f 2
`
`US 2002/0069263 A1
`
`BE
`
`101 Java Wicatiun
`Emmy
`Servers
`
`i‘
`12D 5
`
`User data’ activity Database
`lugJ preferences,
`-
`dfgéceggp?lgues’
`p
`1
`-
`Inf: :mmmm ?am
`mfg:
`~ ‘salable M spmzi
`» it: mans
`Q my mum
`and
`
`_
`
`Java App?tatbn
`?wébper
`
`fl} azmzam ma slat-16mm‘:
`WW ‘3
`‘1 6w ‘£5 EPW338593 LEWE
`A,
`Mmafm aim to
`ram
`mtg m 1% wih mt‘maé
`snfmmatierrm?mmfmra
`mm mm,
`
`Add
`
`14g
`
`Us
`EV
`Dewce
`
`JAM
`“15
`
`km the “in
`3 - 69:?
`3mm‘
`weak martin: as aw
`9'! the 1W5?
`
`Java Appkication
`sea-ch
`he
`?nglug
`
`4'} 82m}: ingnes updated ta
`mm M haw mam
`
`we M? 1mm amp‘:
`M mm mm wijlx mess
`
`mm
`
`

`

`Patent Application Publication
`
`Jun. 6, 2002 Sheet 2 0f 2
`
`US 2002/0069263 A1
`
`‘ Reinéval
`
`Database
`
`P
`
`..
`
`

`

`US 2002/0069263 A1
`
`Jun. 6, 2002
`
`WIRELESS JAVA TECHNOLOGY
`
`RELATED APPLICATIONS
`
`[0001] This application is related to and claims priority
`from commonly assigned U.S. applications Ser. No. 60/240,
`454 ?led on Oct. 13, 2000; Ser. No. 60/307,965 ?led on Jul.
`26, 2001; Ser. No. 60/247,403 ?led on Nov. 9, 2000; Ser. No.
`60/316,734 ?led on Aug. 31, 2001; and Ser. No. 09/829,235
`?led on Apr. 9, 2001.
`
`SCOPE
`
`[0002] This application is generally related to an infra
`structure that alloWs for seamless and optimiZed interactions
`to occur betWeen users, devices, providers, and applications
`located in a netWork environment; and is more particularly
`related to applications that implement Java or J ava-like
`technology in a Wireless netWork.
`
`BACKGROUND
`
`[0003] Consumers Who live and Work “on the ?y” need
`full access to Internet style services and applications that
`may be as mobile as they are. This type of dynamic
`connected lifestyle is pushing mobile devices into a neW era
`of utility as netWork appliances. Consumers expect mobile
`devices to support e-mail, e-commerce, gaming, and Internet
`broWsing. Such diverse functionality requires an open stan
`dards-based netWorked technology platform that can bridge
`the gap betWeen consumers, Wireless carriers, device manu
`facturers, content providers, and application developers.
`HoWever, until recently, the dissemination of Wireless infor
`mation Was constrained. The accessibility to netWorks by
`individual mobile devices Was limited by proprietary tech
`nology and applications.
`[0004] Currently, content delivery to mobile devices can
`be implemented in tWo Ways: With a markup language such
`as WML (Wireless Markup Language) used in the Wireless
`Application Protocol WAP or Compact HTML (cHTML), or
`With a portable application programming language such as
`Java. Use of these technologies can result in bene?ts as Well
`as limitations, but Java technology provides a single open
`platform that alloWs developers to create dynamic, personal,
`and functionality-rich applications, Which content providers
`can provide and deliver to mobile devices.
`
`[0005] With WAP, a simple broWser application built into
`a mobile device may display information doWnloaded over
`a Wireless or other type of data link. Although WAP alloWs
`“scripts” that are run Within the broWser to be doWnloaded
`and executed, it does not provide a frameWork for doWn
`loading of generic applications for execution on mobile
`devices. Today’s WAP devices act as dumb terminals to
`Which text ?les are sent and rendered into static Web pages.
`WAP on a mobile device is limited to providing static Web
`broWsing and basic graphics capabilities, a model that
`precludes the delivery of dynamic, interactive, and personal
`content.
`
`[0006] Mobile device users Want services and applications
`that can deliver individualiZed information. Factors other
`than personal preferences, such as location and circum
`stance, play a part in determining What exactly “individu
`aliZed” means. For example, a tourist stranded at HeathroW
`airport in London, Whose plane has just been cancelled Will
`
`have different information needs than When en route to an
`of?ce in San Jose, Calif. In the former case, important
`information might include the availability of other ?ights,
`the location of nearby hotels and restaurants, or information
`about entertainment that evening. In the latter case, impor
`tant tasks might include booking a meeting, checking e-mail
`or traf?c reports, or on-line trading.
`[0007] Java technology enables developers to Write rich
`dynamic personaliZed services and applications for use on
`mobile devices. In one embodiment, a mobile device, as
`described in commonly assigned US. application Ser. No.
`09/871,483 ?led May 31, 2001, may be used to execute Java
`programs that are as rich in content and usability as those
`executed on PC based platforms. Java technology-based
`applications support more content-rich graphics and faster
`interaction than broWser-based environments (such as WAP
`or cHTML), enabling mobile devices to perform tasks as
`varied as e-mail, neWs updates, doWnloadable games, cal
`endaring, and access to business data. Client-generated
`graphics may be vector-based, enabling a richer vieWer
`experience and reduced netWork demand. As Well, applica
`tions may be doWnloaded and run locally on client devices,
`and upgrades or neW applications may be doWnloaded “on
`the ?y.” With Java technology, applications and code may be
`brought to mobile devices and users such that they may both
`interact With each other.
`
`[0008] While Java platforms may be open and alloW
`developers to create applications that are portable, dynamic,
`and personal, these key features are not the only reason a
`Java solution is best suited for use With mobile devices. Java
`technology also offers the ability to ensure data security and
`to provide disconnected access-critical differentiators. A
`Java platform is inherently secure. Built-in features such as
`byte-code veri?cation, no direct memory pointers, and digi
`tal signatures for dynamic applications provide a good
`security base. There are also multiple third-party extensions
`for Java platforms covering areas like authentication and
`cryptography. Portable Java applications can easily be Writ
`ten to be distributed over TCP/IP, eliminating the potential
`for security breaches during gateWay protocol conversions,
`a risk that currently exists With WAP-based gateWays.
`Unlike WAP-enabled devices, Java-enabled devices alloW
`applications to reside on mobile devices so they can run even
`When a mobile device is out of a netWork’s coverage area.
`Application processing need not, thus, be interrupted When
`a netWork is unavailable. A device or device user can also
`put certain tasks on hold until a netWork connection is
`reestablished. Java code can be dynamically and securely
`doWnloaded from remote servers, providing the proper envi
`ronment to run applications locally on client devices, regard
`less of Whether necessary library ?les Were shipped With a
`particular device.
`
`[0009] HoWever, in contrast to personal computers (PC’s),
`mobile devices are constrained by user interface, siZe,
`memory, and poWer limitations. Although markup languages
`may bring Web sur?ng to mobile devices and the ability to
`doWnload and save .Zip or setup.exe ?les With Which to
`install and run the ?les, this static model on a mobile device
`brings the PC paradigm to mobile devices Without changing
`its context to suit the differing limited memory, limited
`poWer, and small display siZe environments of different
`mobile devices. With present mobile devices, users are not
`able to doWnload and save all the applications they desire.
`
`

`

`US 2002/0069263 A1
`
`Jun. 6, 2002
`
`With limited processing and memory resources, users need
`to load, run and delete those applications they use infre
`quently to save memory for those applications that are used
`daily. For example, limited memory of mobile devices may
`mean that resident virus checking softWare may be limited
`in its limitation. In addition, mobile device user interfaces
`make it dif?cult to “surf” for neW applications.
`
`[0010] Although Java environments alloW for the devel
`opment and Widespread distribution of portable content-rich
`Internet applications to a PC desktop (e.g., games, invest
`ment portfolios, and calendars), the portability of such
`applications to memory-constrained, loW-poWer mobile
`devices, While possible, has previously not been practical in
`terms of performance.
`
`[0011] As more access to information “on the ?y”
`becomes the standard, Java technology available from Sun
`Microsystems Inc., and Java-like technology available from
`various other manufacturers Will be there to deliver it.
`HoWever, the question remains, hoW can semi-compiled/
`interpreted or byte compiled languages like Java be utiliZed
`seamlessly Within a communications netWork?
`
`SUMMARY
`
`[0012] Aspects of the present invention include various
`embodiments. In one embodiment, the present invention
`includes a server that may be used as a central point of focus
`for users of mobile devices, carriers, netWork operators,
`content providers, application developers, and device manu
`facturers. In one embodiment, the present invention may
`provide a location for users to look for content and infor
`mation; a service and content delivery platform for main
`taining statistics and metrics for use by the users of mobile
`devices, carriers, netWork operators, content providers,
`application developers, and device manufacturers; and a
`location for manufacturers to upload information about their
`products for use by developers. In one embodiment the
`content and information may be Java information. In one
`embodiment, the content and information may be J ava-like
`information. In one embodiment, the present invention com
`prises a location Where the content and information maybe
`optimiZed for use by speci?c users or for use on speci?c
`mobile device platforms. In one embodiment, the applica
`tions may be quali?ed, for eXample, by authentication, for
`security, for trust level, and/or for compatibility. In one
`embodiment, applications may be altered or repackaged to
`include either a subset or superset of functionality required
`by users and devices in a netWork as determined by metrics
`and characteristics describing the applications, users, and
`devices. In one embodiment, user, device, and application
`metrics and characteristics may be stored on a netWork
`server. In one embodiment, based on the metrics and char
`acteristics, applications and content may be quali?ed, pro
`cessed, optimiZed, and/or customiZed prior to dissemination
`of the applications to users and/or devices in the netWork. In
`one embodiment, users may request applications and content
`and may be provided them based on the metrics and char
`acteristics speci?c to the users and/or their devices. In one
`embodiment, customiZed search paths may be established by
`carriers and service providers that could be based on user
`preferences, past applications used, applications for sale,
`trusted applications, application provider, popular fre
`quently used applications, cost, siZe, compatibility With
`currently stored applications and resources. In one embodi
`
`ment, the present invention may provide a database of
`mobile device characteristics and capabilities. The database
`may be accessible through a secure connection by device
`manufacturers and to update When neW products are
`released. In one embodiment, the database may also be
`accessible to information and content providers so as to
`provide and qualify content based on look up to the device
`characteristics and capabilities, for example, by device
`manufacturer name, device model number, or uniquely
`assigned ID. numbers.
`[0013] In one embodiment, a system for disseminating
`information to users and devices in a netWork may comprise:
`a server, Wherein the server disseminates Java information to
`the users and devices in the netWork, Wherein the Java
`information is disseminated to users and devices based on
`characteristics of the users and the devices; at least one
`computer readable medium comprising the characteristics of
`the users and devices; and a tool, Wherein each computer
`readable medium, the tool, and the server are operatively
`coupled, Wherein the tool processes the Java information
`based on the characteristics of the users and devices prior to
`dissemination. The Java information may comprise infor
`mation submitted to the server by application developers.
`The Java information may comprise information submitted
`to the server by content providers and service providers. The
`server may disseminate the characteristics of the users and
`devices in the netWork to providers of the information. The
`Java information may comprise one or more application,
`Wherein the computer readable medium further comprises
`characteristics of the one or more application, and Wherein
`the server disseminates one or more of the characteristics to
`the netWork.
`
`[0014] In one embodiment, a system for disseminating
`information may comprise: a server; and a plurality of
`mobile communication devices, Wherein the server dissemi
`nates the information to the mobile communication devices
`according to characteristics of the mobile communication
`devices, and Wherein the information comprises Java infor
`mation.
`
`[0015] In one embodiment, the system may comprise a
`tool, Wherein the information comprises byte-codes, and
`Wherein the tool processes the information by changing at
`least some of the byte-codes.
`[0016] In one embodiment, the system may comprise a
`tool, Wherein the information comprises byte-codes, and
`Wherein the tool processes the information by adding byte
`codes to the information.
`
`[0017] In one embodiment, the system may comprise a
`tool, Wherein the information comprises byte-codes, and
`Wherein the tool processes the information by removing
`byte-codes from the information.
`[0018] In one embodiment, a server for disseminating
`information to devices in a netWork may comprise: a tool,
`the tool for receiving information and for processing the
`information according to characteristics of the netWork,
`Wherein the characteristics comprise characteristics of the
`devices. The devices may comprise mobile communication
`devices. The characteristics of the devices may be selected
`from a group consisting of display, memory, interface,
`processor, and installed softWare characteristics.
`
`[0019] In one embodiment, a server for disseminating
`information to users in a netWork may comprise: a tool, the
`
`

`

`US 2002/0069263 A1
`
`Jun. 6, 2002
`
`tool for receiving information and for processing the infor
`mation according to characteristics of the network, wherein
`the characteristics comprise characteristics of the users. the
`characteristics of the users may be selected from a group
`consisting of download history, log of frequently used
`applications, billing and subscription info, user ranking of
`applications, applications used in the past, and download
`history.
`[0020] In one embodiment, a method for disseminating
`information in a network may comprise the steps of: pro
`viding information to the network as byte-codes; processing
`the byte-codes according to characteristics of the network;
`and disseminating the processed byte-codes to the network.
`The step of processing may comprise adding byte-codes to
`the information, removing byte-codes from the information,
`and altering the byte-codes.
`
`[0021] In one embodiment, a method for disseminating
`information in a network may comprise the steps of provid
`ing Java information to the network; processing the Java
`information according to characteristics of the network; and
`disseminating the processed Java information to the net
`work. The method may further comprise the step of pro
`cessing the Java information by processing byte-codes of the
`Java information. The method may further comprise the step
`of processing the information by qualifying, pro?ling, opti
`miZing, or customiZing the information.
`
`[0022] In one embodiment, a method for disseminating
`information in a network may comprise the steps of: pro
`viding a JAR ?le to the network; processing the JAR ?le
`according to characteristics of one or more mobile devices
`in the network; and disseminating the processed JAR ?le to
`one or more mobile devices in the network.
`
`[0023] In one embodiment, a method for disseminating
`information to devices and users in a network may comprise
`the steps of providing Java information to the network;
`optimiZing the Java information according to characteristics
`of users and devices in the network; disseminating the
`processed Java information to the users and devices.
`
`[0024] In one embodiment, a method for disseminating
`information to devices and users in a network may comprise
`the steps of: providing Java information to a server in the
`network; qualifying the Java information; and disseminating
`the quali?ed Java information to the users and devices.
`
`[0025] In one embodiment, a method for disseminating
`information to devices in a network may comprise the steps
`of: storing Java information in the network to server; storing
`characteristics of a speci?c users and devices in the network
`to the server; disseminating the Java information in the
`network to speci?c users and devices in the network accord
`ing to the characteristics of the speci?c users and devices. In
`one embodiment, a computer readable medium may com
`prise program instructions, wherein the program instructions
`interact with the a network to receive Java or Java-like
`information and to process the information according to
`characteristics of the network, wherein the characteristics
`comprise characteristics of devices in the network. The
`program instructions may interact with the network to
`disseminate the processed information to the network.
`
`[0026] In one embodiment, a system for disseminating
`information to users and devices in a network may comprise
`a means for registering users and devices in the network;
`
`means for receiving information; means for processing the
`information based on characteristics of the users and devices
`in the network; and means for disseminating the processed
`information to the network.
`
`[0027] These as well as other aspects of the invention
`discussed herein may be present in embodiments, in other
`combinations, separately, or in combination with other
`aspects and will be better understood with reference to the
`following Figures, description, and appended claims.
`
`BRIEF DESCRIPTION OF FIGURES
`[0028] In FIG. 1 an infrastructure 100 including a reposi
`tory server 101 is shown.
`
`[0029] In FIG. 2 there is seen how free or low cost access
`to development tools, including from different vendors, and
`special incentives could be provided with or on the server
`101 to build a developer community.
`
`DESCRIPTION
`[0030] With the release of the Java 2 Micro Edition
`(J2ME) platform, and particularly the Connected Limited
`Device Con?guration (CLDC) from Sun MicrosystemsTM, a
`small-footprint Java runtime environment developed
`directly for the mobile device market is now available.
`CLDC speci?es the features of the Java virtual machine
`(VM) and the core developer libraries to be used for small,
`low-power, memory-constrained devices. The J2ME plat
`form was designed with closed environment security in
`mind so it can leverage the platform security features
`available in eXisting security infrastructures such as WAP or
`end-to-end solutions. Unlike WAP, J2ME does not create
`another Internet for devices, instead it provides a direct path
`for tying eXisting mobile devices into “the” Internet.
`
`[0031] The J2ME Mobile Information Device Pro?le
`(MIDP), layered on top of CLDC, includes frameworks for
`application life cycles, HTTP networking, persistent data
`storage, and graphical user interfaces. Both CLDC and
`MIDP allow Java applications to deliver high-end security
`and graphics capabilities, along with the ability to download
`MlDlets (applications written using the MIDP framework)
`and store them on a device. Just like other Java applications,
`MlDlets are easy to create, install, upgrade, and port to
`different platforms.
`[0032] Java technology enabled devices can offer dynamic
`and secure delivery of multiple applications and services in
`real time. Through CLDC and MIDP, J2ME provides a
`modular, scalable architecture to support the ?exible deploy
`ment of technology to devices with diverse features, func
`tions, and memory/performance capabilities. Such technol
`ogy provides the neXt logical step in maXimiZing the
`portability of applications and the performance and memory
`of mobile devices. For wireless carriers, the Java platform
`enables traditional functionalities like e-commerce, stock
`trading, and banking to be eXtended into the wireless realm.
`For mobile wireless device manufacturers, Java technology
`means products may be capable of running a whole new
`generation of applications and services. For content provid
`ers, the cross-platform capability of Java programs reduces
`time to market and provides access to an entirely new set of
`customers.
`
`[0033] While most current mobile devices run on propri
`etary platforms, such as Microsoft’s WindowsCE or Pal
`
`

`

`US 2002/0069263 A1
`
`Jun. 6, 2002
`
`mOSTM, the device as described in commonly assigned US.
`patent application Ser. No. 09/871,483 ?led May 31, 2001,
`With its Java native processor and supporting softWare and
`hardWare provides an open platform for mobile Internet
`device applications. The described processor natively
`executes Java byte-code and supports an optimiZed and
`enhanced J2ME/CLDC framework, and delivers to mobile
`devices an efficient, optimiZed balance betWeen high speed
`and loW poWer consumption. By designing device proces
`sors to integrate With existing technology, a future path for
`service providers and device manufacturers alike may be
`provided to seamlessly run the exciting rich content of
`next-generation mobile devices, as is described herein.
`
`[0034] Referring noW to FIG. 1, an embodiment of the
`present invention is shoWn. In one embodiment, a netWork
`infrastructure 100 is implemented to permit seamless and
`optimiZed interaction betWeen users, devices, and applica
`tions located therein. Network 100 may have disposed
`therein, one or more repository server 101, one or more
`device 140, and one or more database 120. As described
`herein, one or more application 110 submitted to the infra
`structure 100 may be pre-processed, veri?ed, and/or pro?led
`for use by devices 140 and/or users in the netWork 100. In
`one embodiment, devices 140 and/or users in the netWork
`100 may be registered With a registry (not shoWn). In one
`embodiment, one or more of the devices 140 may comprise
`mobile devices that may communicate over a Wireless
`medium. In one embodiment, one or more of the devices
`may comprise a cellular phone and/or a Personal Digital
`Assistant (PDA), but it is understood that the scope of the
`present invention may include other devices, as Well as other
`Wireless and Wired devices and, thus, the present invention
`should be limited only by the claims as recited beloW.
`Furthermore, to the extent necessary to implement com
`monly knoWn elements described herein, it is understood
`that those of ordinary skill in the art Would be capable of
`doing so. For example, netWork, server, database, and
`mobile device technology discussed herein, may be imple
`mented utiliZing hardWare, ?rmWare, and softWare technolo
`gies that are Well knoWn in the art, and, thus, are not
`discussed in other than the detail necessary.
`
`[0035] In one embodiment, a server 101 may communi
`cate With one or more device 140 either directly, or through
`a proxy server or gateWay server (not shoWn). The server
`101 and the proxy or gateWay server may or may not be
`co-located or oWned by the same entity. In one embodiment,
`a server 101 may be implemented by one company focused
`on services, Which may be made available via a connection
`to other customers’(ex. Wireless carriers) Wireless applica
`tion proxy or gateWay servers that communicate to the
`customers’Wireless subscriber devices via a Wireless net
`Work.
`
`[0036] In one embodiment, a server 101 may comprise, or
`may be operatively coupled to interact With, one or more
`storage device or means for storing one or more application
`110 and one or more database 120. In one embodiment, more
`than one server 101 may be linked to form a “community”
`of servers, applications, databases, and services. In one
`embodiment, an application 110 may be uploaded to a server
`101 as a package comprising one or more of the folloWing:
`a JAR Java Archive (JAR) containing an application Suite
`and its associated Resources, an associated application
`descriptor ?le (JAD ?le), upload time developer selected
`
`con?guration information (eg category, netWorks, sup
`ported devices), and/or optional source code and screen
`shots of the application. In one embodiment, packaging
`applications in JAR format permits application 110 manifest
`information and descriptor information to be stored in a
`database 120 for subsequent indexing. Application descrip
`tor information may be used by search engines looking for
`applications With particular name, provider, siZe, capabili
`ties and/or functionality. Other resources that may be
`uploaded, alone, or With an application 110, include, for
`example, other applications, enhancements speci?c to the
`requirements of devices and users in the netWork 100,
`documentation, proprietary API’s, etc. In one embodiment,
`one or more application 110 may be embodied to comprise
`a Java MIDlet, and/or a Java MIDlet Suite, etc. Although
`described above to comprise speci?c embodiments, each
`application 110 may comprise or may be subsequently
`modi?ed to include greater, feWer, or different resources and
`should, thus, be limited only by the claims as recited beloW.
`
`[0037] Server 101 may comprise the backend for a net
`Work connected information server, for example, a Web site
`supporting WAP, HTML, XHTML, cHTML, XML, etc. Just
`as Webservers may be used to host PC-based application
`servers, a Web site as described herein may contain
`Webpages and links to Webpages and other application
`resources it can deliver to devices 140 and their users.
`
`[0038] One or more database 120 may store information
`that may include, but is not limited to, individual user
`preferences/characteristics, a log of recently doWnloaded
`applications, a log of most frequently used applications,
`billing and subscription info, user ranking of applications,
`applications used in the past by a user, history of doWnloads,
`and user device capabilities/characteristics. User device
`capabilities/characteristics may include, but are not limited
`to, display screen siZe/resolution/color depth; memory siZe
`(total and remaining); user interface capabilities and related
`APIs; text, touch, biometrics, speech recognition, handWrit
`ing recognition, image capture, input, output, audio, and
`vibrate capabilities; processor type and processor features;
`processor optimiZations possible; current applications
`installed; Java and Java-like virtual machine manufacturer
`and version; etc. The device capabilities/characteristics (and
`possibly the user preferences as Well) may be integrated With
`a Jini architecture to provide service and capability discov
`ery. In one embodiment, user preferences and device capa
`bilities may be implemented using the Composite Capability
`/Preference Pro?le (CC/PP) currently being developed by
`the World Wide Web Consortium (W3C) and described at:
`http://WWW.W3.org/TR/NOTE-CCPP/. In one embodiment,
`database 120 may be provided in a form (x500 for example)
`accessed by industry standard LDAP (LightWeight Directory
`Access Protocol) and the Java speci?c JNDI (Java Naming
`and Directory Interface) application programming interface
`(API). In one embodiment, as permitted or needed, each
`database 120 may be made accessible not only to server 101,
`but to individual users, devices, developers, service provid
`ers, and/or content providers in netWork 100.
`
`[0039] One or more database 120 may be used to store
`communications from devices 140 and/or their users, includ
`ing communications that indicate Whether a particular user
`has saved or deleted an application after using it, thereby
`providing statistics that may assist in tracking user prefer
`ences and in ranking applications (those apps Which are
`
`

`

`US 2002/0069263 A1
`
`Jun. 6, 2002
`
`saved by users Will be more highly rated and generally more
`valuable as compared to those users don’t give up precious
`local storage to and simply delete after use). Content and/or
`service provider ratings of applications as Well as doWnload
`statistics may also be stored in database 120 and may be
`used in selecting the best softWare for use by a device 140
`or user. By searching the log of other users of an application
`(AppA), and examining other applications that have been
`rated highly by these other users, doWnload logs matched by
`user and preferences may alloW other users and service
`providers to ?nd applications based on a method that uses
`current applications (AppA) they like as a key to ?nd related
`applications (AppB) or other highly rated applications
`(AppC, AppD, etc.). To compensate for the limited display,
`storage and netWork bandWidth capabilities of mobile
`devices, a log of the frequency of doWnload of applications
`may aid users in ?nding popular applications, and in ranking
`and narroWing user search results.
`[0040] Information stored in database 120 may be used to
`optimiZe device 140 interactions With applications 110, as
`Well as to optimiZe interactions betWeen, and performance
`of, server 101, and/or devices and/or users registered thereto.
`For example, information stored in database 120 may reduce
`the need for a device 140 and/or the device’s user to search
`repository server 101 more than once for an application 110
`that a user may have used in the past, but could not store on
`his/her device. More rapid access to applications stored on
`repository server 101 may thereby be facilitate to conserve
`processing resources and poWer of both the netWork 100 and
`devices 140 therein. In one embodiment, database 120 or
`other information repository mechanism may store copies of
`applications 110 used by particular users in the past. In this
`Way, the memory siZe of the device 140 may be increased by
`providing devices in netWork 100 With extra accessible
`memory implemented in a loWer cost persistent storage
`medium. In one embodiment, database 120 or other infor
`mation repository mechanism, or local storage on device
`140 may store a l

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket