throbber

`
`.WI LEY
`
`Professional Developer’s Guide Series
`
`
`Creating’
`---------------locationSETVICES
`
`forthe
`Wireless Web
`
`
`
`
`
`Unified Patents
`
`Unified Patents
`Exhibit 1020
`Page 1 of 16
`Page 1 of 16
`
`Exhibit 1020
`
`Johan Hjelm
`
`

`

`it}:‘v#51331‘3‘r23}.
`
`.,x;
`
`1
`l
`i
`1
`
`,
`i
`
`Publisher: Robert Ipsen
`Editor: Carol A. Long
`Developmental Editor: Adaobi Obi
`Managing Editor: Angela Smith
`New Media Editor: Brian Snapp
`Text Design & Composition: D&G Limited, LLC
`
`Designations used by companies to distinguish their products are often claimed as
`trademarks. In all instances where John Wiley & Sons, Inc., is aware of a claim, the product
`names appear in initial capital or ALL CAPITAL LETTERS. "Readers, however, should contact
`the appropriate companies for more complete information regarding trademarks and
`registration.
`
`This book is printed on acid—free paper.
`
`Copyright © 2002 by Johan Hjelm. All rights reserved.
`
`Published by John Wlley & Sons, Inc., New York
`
`Published simultaneously in Canada.
`
`No part of this publication may be reproduced, stored in a retrieval system or transmitted
`in any form or by any means, electronic, mechanical, photocopying, recording, scanning
`or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States
`Copyright Act, without either the prior written permission of the Publisher, or authoriza—
`tion through payment of the appropriate per—copy fee to the Copyright Clearance Center,
`222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4744. Requests to
`the Publisher for permission should be addressed to the Permissions Department, John
`Wiley & Sons, Inc., 605 Third Avenue, New York, NY 10158-0012, (212) 850—6011, fax (212)
`850-6008, E—Mail: PERMREQ @ WILEYCOM.
`
`This publication is designed to provide accurate and authoritative information in regard
`to the subject matter covered. It is sold with the understanding that the publisher is not
`engaged in professional services. prrofessional advice or other expert assistance is
`required, the services of a competent professional person should be sought.
`
`Library of Congress Cataloging-in—Publication Data:
`
`I-Ijelm, Johan.
`Creating location services for the wireless web : professional
`developer’s guide / Johan I-Ijelm.
`p. cm.
`ISBN 0—471-40261—3
`
`1. Wireless Applicaiion Protocol (Computer network protocol) 2. Web
`site development. 3. Geographic information systems. 4. Cellular
`telephone systems.
`I. Title.
`TK5105.5865.H554 2002
`005.2'76——dc21
`
`2001006512
`
`Printed in the United States of America.
`
`10987654321
`


`
`
`
`
`
`
`Unified Patents
`Exhibit 1020
`Page 2 of 16
`
`

`

`
`
`
`Location-Based
`SerVIces In Termmals
`
`he handset—the mobile telephone, PDA, or special-purpose receiver—is not a
`very good place to deploy services. The Internet end-to-end model did not take
`into account that you might want to present a highly interactive, vividly graph-
`ical service in a device that has a smaller processor than a Furby and less mem—
`ory than the average technical calculator.
`‘
`
`As of this writing, the mobile terminals on the market do not have any imple-
`mentations of hardware or software to support any of the terminal-based posi—
`tioning solutions, for example, GPS or E—OTD. However, in order to fulfill the
`accuracy requirements defined by FCC, if UL-TOA is not to be implemented,
`software and hardware to support one of the terminal-based solutions (or
`both) have to be added to the mobile terminals.
`
`The better acCuracy of the position information 'obtainable, the more applica—
`tions for location-dependent services are conceivable, and the more useful they
`get. Therefore, some users may not find E-OTD sufficient with respect to obtain—
`able accuracy for the services they are interested in. For these users, support for
`Assisted GPS in the terminal should satisfy their need for accuracy, which is the
`most accurate positioning solution for mobile terminal application. A terminal
`with a GPS receiver will, however, cost a bit more, and some users may not want
`to pay that extra amount for the accuracy enhancement compared to E-OTD.
`
`Nor is the software required for the more interesting applications imple-
`mented. Web phones—at least, in the foreseeable future—will receive a ready-
`made presentation from the server. While they will probably have some limited
`capability to execute Java code, 128KB of memory is not something that
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Unified Patents
`Exhibit 1020
`Page 3 of 16
`
`

`

`
`
`
`
`296
`
`CHAPTER 11
`
`
`
`enables you to build particularly impressive services, although SVG viewers are
`available that will work in a mobile phone. Still, there is a programming envi-
`ronment for them that executes on their even punier companion processor, the
`SIM card. There is also one pioneering device that has more programmability:
`The Benefon Esc.
`‘
`
`
`bined Mobile Phones and GPS Receivers
`
`
`
`Many GPS receivers have map services built in, but very few can communicate
`fire—posifibfi'tha’t—flTéy—rec‘eive" t6"5n6ti1§r'§e‘rfiéé“t6 receive a response that1s
`adapted to the request. An example of a device that can perform this task is the
`Benefon ESC, which is a combined GSM mobile telephone and GPS receiver. This
`device has a large enough window to present a position-dependent application—
`for instance, with a map interface. That is an exception, however, and will most
`likely remain that way for as long as the price of mobile phones is a primary buy—
`ing argument.
`
`GPS receivers can be made small enough to be integrated into a handset, and
`several manufacturers have demonstrated prototypes. Just having the GPS
`receiver in the handset, however, means that you have to perform a cold start
`every time you want to retrieve a position. You need a way of getting additional
`data about the satellites to the GPS receiver. From a cold start with the almanac,
`
`it typically takes two minutes to determine its position. A warm start takes
`about oneminute; a hot start (with the last fix less than one minute old) takes
`about 15 seconds. Wlthout the almanac, however, the time it takes to acquire the
`
`satellites is approximately 12 minutes.
`
`There is also another concern. When you are using a protocol like the WAP
`Application Framework of LIF API, you send the position request along with
`the identity for the terminal that is to be positioned to the application server or
`MP0. All of the traffic concerning the positioning, including the execution of
`triggered requests, can be done in the fixed network connecting the base sta-
`tions to the MP0 (because you are asking for information that the network has
`collected anyway). But when you have the positioning in the handset, you have
`to transmit the position over the radio channel.
`
`That might not seem so problematic, but consider the numbers. If 720 users in
`a cell on a GSM network are sending position information messages of 256KB
`every three seconds, that means they are using 400 kbit/s. The capacity of the
`cell is 2160 kbit/s. So, they will be using some 18 percent of the capacity of the
`
`
`
`, illll\
`
`cell for signaling.
`
`Traffic modeling is more complicated, of course. Because the traffic tends to be
`bursty, there are fixed allocations of capacity that are required for certain traf—
`fic types and so on. But that simple calculation shows that just signaling would
`
`Unified Patents
`Exhibit 1020
`Page 4 of 16
`
`

`

`
`
`Location-Based Services in Terminals 291
`
`use up a significant portion of the traffic, assuming that the return messages
`with the personalized information are the same, independent of the technology
`used. Another matter is pricing. Nobody knows how the tariffs will be set in the
`end, but given the charges of some European operators for the GPRS traffic
`(the packet data traffic on the GSM network), it would become extremely
`expensive to keep sending your position.
`
`
`
`Benefon Esc
`
` ------
`Esc, built by the other Firmish mobile phone company, whichin a sense corn-
`bines the best of th0 worlds (BenefonIS actually basedin Finland the same as
`market leader Nokia, but it has never reached their market volumes and remains
`specialized in niche applications). It is shown in Figure 11.1. While it uses GPS
`and has all the mobile communications possibilities of a mobile phone, it actu-
`’ ally loses out because the GPS function cannot handle assisted GPS.
`
`Strictly speaking, with the Benefon Esc you are not developing for the mobile
`phone; instead, you are developing for the system. The adaptation of the data
`is done in the service center (in other words, the application server), and the
`phone is providing coordinates that are used to adapt the data. The service
`center is a specialized application server (although it should not be too hard
`for application server developers to provide this kind of functionality if it
`becomes popular). The phone has a built-in GPS receiver, but it can also
`
`
`
`Figure 11.] The Benefon Esc,
`
`
`
`Unified Patents
`Exhibit 1020
`Page 5 of 16
`
`

`

` 1;
`
`CHAPTER II
`
`293
`
`,
`
`receive position information from the GSM network (or, strictly speaking, the
`service center can).
`
`
`
`To enable development by others and to allow service providers to supply
`information, Benefon has released the protocol, the Mobile Phone Telematics
`Protocol, which is used between a service center and a terminal. It uses the
`Short Message System (SMS) of GSM as a carrier format, but that is not an
`absolute binding—other carrier formats could be used if required. The format
`has two parts, text andxbinary, so the conversion should be simple. The com—
`munication between the service center and the mobile terminal is binary, but
`g
`1
`— —~ ~—~~—~—-————~— ————---— wheneemrmmieatlngrwitharegularGSMphone, muses textiommns— —-—--——-—
`enabled1n the protocol are primarily intended to handle emergency calls and
`security and safety applications.
`
`
`
`
`
`
` .§§
`
`§ ..
`
`
`
`rmomma;
`
`‘
`
`
`
`«\gv;«,\~;.nwrkmk\wwA..,.ruzmrmWMWWu‘A/z’fl
`
`
`
`,
`1
`5
`
`‘
`
`
`
`,
`
`j,
`‘1
`
`‘1
`,_ .‘1
`Y
`.
`
`‘
`‘
`
`,
`1
`
`9
`
`1
`
`-
`
`~
`
`1
`:
`5 91131
`
`,
`‘
`‘
`
`1:1
`
`In addition to the message part of the protocol, it also has a numbering for a
`series of images that can be used as icons. They include circles, squares,
`arrows (relative to the compass directions), and a lethal danger symbol in
`addition to icons for buildings such as banks, hospitals, kiosks, camping
`sites, and photo shops. It also includes religious buildings such as syna-
`gogues, mosques, churches, and temples. There are icons to represent differ-
`ent modes of transportation (possibly only Finnish developers would have
`imagined a snowmobile as a standard mode of transportation) and travel
`symbols such as electric outlets, sight, shower, toilet (and again, betraying its
`Finnish roots with symbols for lean-to shelter and orienteering contrOl point).
`Sports symbols include golf, riding,
`ice hockey, and swimming (but not
`handy).
`
`The commands are based on characters already implemented in GSM and use
`ASCII text as the base format. Messages in the protocol have a header that is
`always constant. All field lengths except the header and CMD include one field
`separator character; in other words, the preceding underscore. The field sepa-
`rator is the underscore (__) character. All messages from the service center or
`normal to a GSM phone start with a question mark (‘3), and all messages from a
`terminal using the protocol terminal start with an exclamation point G). If
`information is not, available, the corresponding field is filled with “-” characters.
`
`The basic commands of the protocol are listed in Table 10.1. They are what are
`supported by the Esc telephone, but Benefon also has several other models
`that can provide functions that are more complicated.
`
`The idea is that the service center sends one of these commands to the mobile
`terminal, which then responds with a message reporting its status and position.
`It looks like Table 10.2. The second—row figures are the length of the fields, the
`third row is an explanation, and the fourth is an example.
`
`The Benefon protocol does not use HTTP but SMS for data transfer, which
`makes it somewhat different from Web-based applications. The terminal can
`
`Unified Patents
`Exhibit 1020
`Page 6 of 16
`
`

`

`
`
`Location-Based Services in Terminals 299
`
`Table 10.1 The Basic Commands of the MPTP Protocol
`
`5cm"
`‘MPTPterminaItoSC'
`
`H
`
`.
`
`C‘fé 'MPTP,,t‘.erm.na!vt95¢‘ . 3
`MPTP terminal ‘tghs‘cfl .
`
`Ex LAN "0N
`
`'
`
`e'r'id
`
`:
`
`send back a position in response to a request from the service center. The
`request from the service center is sent as a response to a request from the user.
`
`The TRC command is intended to set up a tracking service based on the num-
`ber of tracking messages and the interval between them (the tracking messages
`here go from the phone to the service center).
`
`The system can also transmit a route to the terminal by using the RSE com-
`mand. The route points can have names (instead of numbers) in addition to
`coordinates. Up to four route points canbe sent in one message, but by using
`the “part” field, messages can be chained so that up to 99 messages can be sent
`(because the field length is six and has to contain the number of the current
`message, a slash, and the number of total messages). The last point of the route
`has a name and an icon (one of the encoded icons that are part of the protocol).
`The terminal can also request a route and a waypoint from the service center.
`
`The terminal can also be used to send network measurements to the service
`center (and it is likely that this market will be big for it in the short run, because
`there are many network operators who want to measure where their competi—
`tors’ cells are located). The network measurement includes the country and
`network codes, the cell identification number, the time advance, the transmis-
`sion power, and other related data.
`
`
`
`Toolkit
`
`-
`
`Traffic is one factor to consider, because it might make GPS receivers in termi-
`nals unsustainable. Another factor is the processing capacity. The mobile station
`
`
`
`Unified Patents
`Exhibit 1020
`Page 7 of 16
`
`

`

`
`
`ZOE—.50.“.
`
`
`
`
`
`22:3;Eat:
`
`
`mumaow,w.,,K._,.EEnzSanu53$:
`
`
`
`
`<._.<nZO_hUu~—_nZOF—mcn—_._.<_>_~_Ou_l_
`
`
`
`
`
`
`
`
`
`wwmmmws.9.anmemEEmvcm:oEmomNA...035...
`
`Unified Patents
`Exhibit 1020
`Page 8 of 16
`
`

`

`
`
`Location-Based Services in Terminals 301
`
`in a mobile telephony system might contain pretty powerful signal processors,
`but as a computer it has a long way to come close to the current PDAs. Process-
`ing power, and memory even more so, costs money. All manufacturers of mobile
`equipment do everything they can to shave off as many cents as possible off the
`price, which of course is good for the consumer because the mobile phone
`becomes cheaper. But on the other hand, the consumer does not get a device that
`is capable of doing very much. Even the smart phones, like the Nokia Communi—
`cator and the Ericsson r380, do not have much processing power available when
`compared to devices like the Compaq iPac or the HP Journada. The operating
`system might be better, but there is still a ways to go until you can do the same
`""""_"_‘_'Wpf6(fi§1fi§mePCT_‘—_'_——_‘—_'_'m___—W
`
`
`
`"""""""""
`
`Even in the most humble cell phone, however, there is a computer that can be
`used by applications developers. It is the SIM card, which is a smart card used
`to process calls and manage the traffic from and to the telephone (and to make
`sure it is logged into the billing system with the correct identity in GSM and
`IMT-2000, that is). Systems like TDMA, CDMA, and PDC do not have a smart
`card built in.
`
`Compared to the processor in the telephone, the processor on a smart card is
`laughable. But performance is not the issue when developing handset applica—
`tions; the main presentation format is text, after all. The main issue is access to
`information, and in GSM and IMT—ZOOO, that is provided through a standardized
`set of APIs, the SIM Toolkit (there is also a Java virtual machine available for
`smart cards, but it does not have the interfaces to system functions on the
`smart card that the SIM Toolkit has). SIM is an abbreviation for Subscriber
`Identity Module, and the telephony part of the handset interacts with the SIM
`to receive the identification of the user. Other information, like the telephone
`number of the user and the calling party, is also stored on the SIM (and trans-
`ferred from there to the telephone book when requested). It is the fact that the
`SIM is the point of interaction for data services with the telephone that makes
`it interesting as an application platform. The SIM card is the receiver and trans-
`mitter of all SMS messages, and it also has access to all other information that
`pertains to the users of the telephone system (including the cell information).
`
`The original SIM cards had fewer than 10 kbytes of memory, but the cards will
`soon have more than 100 kbytes of memory. They have also been given more
`functionality than when first released in the 1980s. The standard is set through;
`the European Telecommunications Standardization Institute (ETSI), which
`sets the standards for GSM. It is the ETSI SMG9 that defines the box of pro—
`gramming tools and protocols that comprise the SIM Application Toolkit (the
`number is GSM 11.14).
`
`The SIM card controls the mobile telephone, and it receives all the information
`that comes to the mobile phone. This information includes the network and cell
`
`
`
`Unified Patents
`Exhibit 1020
`Page 9 of 16
`
`

`

`
`
`identifiers, which are the base for location-dependent services based on the SIM
`Toolkit. It also controls what is displayed to the user and can communicate with
`the network by using the SMS, which was introduced for this type of communi-
`cation even if it is now mostly used for messaging between teenagers.
`
`Today, there are a large number of applications based on the SIM Toolkit
`deployed. Among the applications developed using the SIM Toolkit, Internet
`access, mobile banking, and location-dependent services seem to be among the
`most popular. The SIM card can also download new applications (if they are
`encoded as SMS messages).
`
`
`Internet applicatiohmhe—SIM Mdfimw—sefiifitm
`on the card. It is, in turn, based on the WAP standards. The most popular appli—
`cations are those that are dependent on security, however, such as banking,
`online brokerages, and payments. The card is more secure than the rest of the
`phone because it not only manages things like telephone numbers and the like,
`but it also contains the encryption key for the communication (all GSM com-
`munication is encrypted, including the voice calls).
`
`Location-dependent information based on the SIM Toolkit means that the card
`requests the area information based on the cell ID to the operator and then
`receives messages containing the information.
`
`There is also a standard Java Card API for SIM cards. The Java—compatible SIMS
`can run a number of programs independently. The standard is also used in the
`credit card world. Wlth Java, the card can also be reprogrammed in the field. A
`Java card runs a Java Virtual Machine (JVM). The card handles applications
`
`accordingtothestandardbehaviorforVirtualmachines,butitisalsopossibleto
`
`upgrade the software in a SIM via over-the—air data communications technology
`or other techniques, such as downloading software Via point—ofsale (POS) ter-
`rninals in the network operator’s retail outlets. The operator can also remotely
`update the cards without the user requesting it (because the assumption is that
`the user does not own the phone; the operator does). Only changes to the appli—
`cations need to be transmitted.
`
`Smart cards are also integrated with WAP 1.2 (and 2.0, where it is replaced with
`TLS, the same standard as is used on the Internet) standards. There is a smart
`card—based application known as a WAP Identity Module, or WIM. The WIM
`handles the Wireless Transport Layer security between the WAP gateway and
`the mobile terminal. Several different cryptography algorithms are available.
`The card can also be used for application-layer security, using a digital signa-
`ture and non-repudiation techniques.
`‘
`
`‘
`
`.57,
`
`j
`j
`
`_
`
`1
`
`J
`{
`
`
`
` CHAPTER I I
`
`
`:
`
`j
`
`.
`1
`
`‘1
`
`‘
`
`,
`
`i
`‘
`
`E.
`i‘.‘1.
`1,.
`ifJ,.
`i'l
`
`The SIM card is a GSM standard, but there is a similar standard for CDMA
`called the Removable User Identity Module (RUIM). In IMT-ZOOO, there is a
`similar function: the Universal Subscriber Identity Module (USIM).
`
`
`
`
`.
`-,
`,
`:3
`1,
`
`’1
`
` \
`
`,,
`‘2;
`
`'
`
`..
`i
`‘
`
`::
`
`Unified Patents
`Exhibit 1020
`Page 10 of 16
`
`

`

`
`
`Location-Based Services in Terminals 303
`
`Programming with the SIM Toolkit is not simple, and you need to access the
`Operator’s network, not just the SIM. The assumption in the system is that the
`operator owns the application, the network, and the SIM card. So, instead of
`going deeper into it here, I will include the specifications on the CD—ROM that
`comes with this book.
`
`,
`
`ava in the Mobile Phone
`
`WMenJaxabecameavaflableinAUebbrowsersritwashaflaiasthelfiggestthing——--~~—-w~--~~}
`since shaved ice. It was supposed to change the user interface of the computer
`‘
`forever. Well, a lot of water has run under the bridges since then, and Java has
`established itself thoroughly as a server programming language. It turns out
`that what you can do as a developer is very limited—far more limited than was
`originally thought. The standard MIDP and CLDC implementations do not actu—
`ally enable more than very simple animations and games. It is when you get
`additional functionality, such as sprites for games (which the Japanese com—
`pany Jphone has in its Java phones), that you can start doing really interesting
`things.
`
`The first company to manufacture a mobile phone using Java was Nortel, but
`that phone hardly sold at all—being released before the standard was ready.
`The first network operator to release a phone with Java was Nextel in the
`United States, which released a phone based on the MIDP profile. Next came
`NTT DoCoMo, which released a phone based on K—Java—but it has a very spe-
`cial operating environment that does not allow the Java applet to interact with
`the network other than through the browser. Jphone in Japan came next, and it
`released a mobile telephone with the full MIDP profile (and some additional
`goodies, such as three-dimensional sprites for games programming) in 2001.
`
`The Java libraries in the mobile telephones consist of the Connected Limited
`Device Configuration (CLDC), which is based on the K Virtual Machine (KVM)
`and is implemented on top of device operating systems and provides the inter—
`face between specific phone operating systems and higher—level Java technology-
`based applications. The JZME Mobile Information Device Profile (MIDP) is
`layered on top of the CLDC and includes APIs for the application life cycle, HTTP
`networking, persistent data storage, and graphical user interfaces (GUIs), as
`shoWn in Figure 11.2.
`
`CLDC is a basic set of libraries and Java virtual machine features. It must be pre—
`sent in each implementation of aJZME environment on highly constrained devices,
`such as cell phones and pagers. CLDC takes care of the telecommunications-
`related aspects of the system, such as pausing applications when the connec-
`tion drops, switching over to the telephony application when a call comes in,
`
`
`
`Unified Patents
`Exhibit 1020
`Page 11 of 16
`
`

`

`304
`
`CHAPTER II
`
`MIDP
`
`
`
`applications
`
`2 OEM APISV
`
`
`
`Figure 11.2 How the Java libraries in the mobile phone belong together.
`
`and so on. MIDP adds supplementary libraries that provide APIs not handled
`by the low-level CLDC, such as the user interface, database, and device-specific
`networking. It also contains HTTP so you do not have to develop your own
`browser or your own protocol stack. It also contains TLS security over TCP,
`which enables end-to—end security
`
`When you use Java technology phone applications, you’ll be able to either
`leverage an existing WAP infrastructure or, by using the next-generation WAP,
`use TCP/IP and other native Internet protocols. Once you have TCP/IP access,
`of course, you will be able to bypass any kind of gateway that exists between
`the phone and the server, although for performance reasons you might want to
`retain it when you do not need end-to—end security. This is because it contains
`a mobile profile of TCP, which is optimized for the narrowband network.
`
`The MIDP APIs are logically composed of high—level and low—level APIs.
`
`l
`
`‘
`‘l r
`
`;.
`
`
`
`lx
`
`
`
`i
`l
`
`‘
`
`
`
`l
`z
`
`l
`.
`.
`
`,
`};
`" 5.
`
`
`
`
`
`
`The high-level APIs are designed for applications where software portability
`across a range of handsets is desired. These APIs use a high level of abstrac-
`tion. The tradeoff is that the high-level APls limit the amount of control the
`developer has over the look and feel of the user interface. The underlying
`implementation of the user interface APIs, which is accomplished by the hand-
`set manufacturer, is responsible for adapting the human interface to the hard—
`ware and native user interface style of the device.
`
`The low—level API provides very little abstraction and requires a bit more
`design work to remain portable. It is designed for applications that need pre-
`cise placement and control of graphic elements as well as access to low—level
`inputevents. The low—level API enables the application to access special,
`device-specific features. Games are a typical application of this API.
`
`The high-level portion of the user interface API is screen-based. That is, the API
`is designed so that interaction with the user is based around a succession of
`
`.
`
`T
`
`t '1‘
`
`l
`
`‘
`
`

`
`3
`él
`
`Unified Patents
`Exhibit 1020
`Page 12 of 16
`
`

`

`
`
`Location-Based Services in Terminals 305
`
`1
`
`‘
`
`1
`1
`1
`
`screens, each of which presents a reasonable amount of data to the user. Com—
`mands are presented to the user on a per-screen basis. They enable the applica—
`tion to determine which screen to display next, What computation to perform,
`what request to make of a network service, and so on.
`
`A screen is an object that encapsulates device-specific graphics rendering user
`input. Screens can only scroll vertically; there is no horizontal scrolling. The
`screen handles all events that occur as the user navigates the screen. Only high-
`level events are passed on to the application. Only one screen can be Visible at
`a time, and the user can only interact with the items on that screen.
`
`For'flfis reason,iyou cannot make—screens too—"comphcalfilst? as few user
`interface components as possible, and make sure they are related. It makes it
`easier for the user if he or she only has to perform one task per screen.
`
`Applications are composed of a set of screens through which the user steps as
`he or she completes the tasks (which the application consists of). The screens
`need not be organized linearly; they can branch out, and it is possible to jump
`between them (and make conditional jumps, as well).
`
`The MID Profile has four types of screens: List, Alert, Text Box, and Form. The
`List screen provides three variations: an implicit (menu) list; a single—choice
`list; and a multiple—choice list. The implicit list can be used to display a list of
`menu commands inside the application.
`
`The Alert and Text Box screens contain alert and text, but alerts are simpler
`than in other environments and will use the entire screen. Text boxes generally
`will not support fancy text formatting or font styles and enable only basic text-
`editing capabilities. Form screens contain an arbitrary mix of items including
`images, read-only text, editable text,._ date and time fields, gauges, and choice
`groups.
`
`The form screen is Where you can actually develop something. There are theoret—
`ically no limits on what a form can include. The implementation, not the applica—
`tion, handles layout, traversal, and scrolling. There are quite a few primitives that
`you can use for development, such as text boxes, multiple-choice menus, and so
`on. There are many good books about Java, so I do not need to list them here.
`
`None of the components contained on the form screen are able to scroll inde-
`pendently. The entire contents scroll together vertically (there is no horizontal
`scrolling). When a form is presented on the display, the user can interact With it
`and with its items indefinitely
`
`Interaction can be made by using the pointer on the screen or using editable data.
`Devices following the MIDP profile are assumed to have either a one—handed
`ITU-T phone keypad or a two-handed QWERTY—style keyboard. Beyond that,
`devices can have any number ofprogrammable (soft) buttons or no programmable
`buttons at all. The manufacturer ultimately maps these commands onto the device.
`
`
`
`Unified Patents
`Exhibit 1020
`Page 13 of 16
`
`

`

`
`
`il
`
`l l l
`
`ll
`l
`
`306
`
`CHAPTER 11
`
`Developers can create portable applications, but they lose control over where each
`specific command will map on the device.
`
`l
`
`,
`
`.
`
`
`
`
`
`1
`1‘
`ill
`
`.
`3
`
`.
`
`MIDP also contains a database in the device that can be controlled with three
`primitives in the API. The RecordStore primitive consists of a collection of
`records that remain persistent across multiple invocations of the MIDlet. Record—
`Comparator defines a comparator that compares two records in a RecordStore to
`see whether they match or what their relative sort order is. RecordFilter defines
`a filter that is used to extract sets of records that match a criterion.
`l
`Java is available for mobile phones, and NTT DoCoMo in Japan (as well as its
`"7i _‘_""_____—‘W,W fimneWoMones“(albeit infifim ——"“i-—
`‘
`versions). In terms of location—based applications, though, there are basically
`’
`two ways where Java comes in handy: as an animation system for the display of
`l
`maps (where you can add an animated line to a downloaded map, for instance),
`j
`and as a system to program a dedicated client, which is independent of the
`3
`browser and does more than change the map when the position changes. The
`.
`challenge in developing applications of this ldnd lies in two different areas: you
`have to create applications that work in the minimal environment of the mobile
`phone, and it is a user interface challenge. When you move beyond the static
`display, you get an entirely new set of problems—as we saw in Chapter 9,
`“Maps as User Interfaces.”
`
`l ,
`
`‘
`
`‘V‘
`
`H
`‘
`
`1
`
`The other type of application is an active application that runs in the back-
`ground of your PDA (mobile phones are hardly up to this point yet) and that
`conducts an action based on the position, such as checking your gasoline level
`and beeping you when you are coming within 500 meters of a filling station run
`by the company where you have a discount. It could actually run in the applica-
`tion server as well and be triggered when you pass a boundary, but then it
`would be harder for it to communicate with the gasoline meter, of course. This
`type of application belongs to the future (although it is not science fiction; sim-
`ilar applications have been demonstrated, although not dependent on position).
`
`It is still not entirely clear how Java in the mobile phone will play out (although
`play is just what it is being used for). More and more manufacturers are imple-
`menting it in theirgphones, though, and just as it has developed into a comple-
`ment to the Web browser on the fixed Internet, it is likely that it will become a
`very important execution environment in the mobile phone. But there is still
`room for developers—and new applications.
`
`l3
`i
`
`
`
`Navigation and ln-Car Telematics
`
`In Japan, car navigation devices are extremely popular. Because there are no
`street names, roads are almost never straight for more than 50 meters and
`
`
`
`
`
`
`
`Unified Patents
`Exhibit 1020
`Page 14 of 16
`
`

`

`
`
`Location-Based Services in Terminals 301
`
`because drivers are rarely familiar with the layout of cities other than their
`own, car navigation systems have become a hot seller.
`
`Car navigation systems are often standalone systems with the map database on
`a CD—ROM or DVD, and the in—car GPS receiver is used to center the map
`around the car’s position. Car navigation systems also usually have functions to
`calculate routes and sometimes contain databases of points of interest.
`
`What they do not have, however, is communication with the world outside. If
`you want to update the information in a car navigation system, you have to
`
`change the stored maps (for instance, by changing the CD—ROM). Most car nav—
`W _ W““““~m0n SflemomM'E—mmrmimEEfiWW-Mu_
`
`Given the popularity of car navigation systems in Japan, however, NTT
`DoCoMo has formed an alliance with car navigation companies to connect car
`navigation systems with its mobile phones to update them with traffic informa-
`tion and other information that is dynamic.
`
`In the United States, General Motors has been successful with the OnStar sys-
`

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