throbber
(12) United States Patent
`US 6,580,916 B1
`Weisshaar et al.
`(45) Date of Patent:
`Jun. 17, 2003
`
`(10) Patent N0.:
`
`IJSOO6580916B1
`
`(54)
`
`(75)
`
`SERVICE FRAMEWORK FOR EVALUATING
`REMOTE SERVICES BASED UPON
`TRANSPORT CHARACTERISTICS
`
`Inventors: Bernhard Weisshaar, Phoenix, AZ
`(US); Merlin Smith, Chandler, AZ
`(US); Parvathy Bhaskaran, Mesa, AZ
`(US); Mark Clayton, Phoenix, AZ
`(US); Kungwel Mike Liu, Chandler,
`AZ (US)
`
`(73)
`
`Assignee: Motorola, Inc., Schaumburg, IL (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 379 days.
`
`(21)
`
`(22)
`
`(51)
`
`(52)
`
`(58)
`
`(56)
`
`Appl. No.: 09/662,307
`
`Filed:
`
`Sep. 15, 2000
`
`US. Cl.
`
`Int. Cl.7 ........................ H04M 11/00; H04B 15/00;
`H04Q 7/20
`....................... 455/456; 455/414; 342/357;
`375/202
`Field of Search ................................. 455/517, 414,
`455/412, 450, 452, 435, 445, 560, 466,
`456; 342/357.09, 701/207, 379/196, 211,
`210, 375/202, 331/25, 16, 17
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`........ 370/324
`6/1997 Schuchman et a1.
`5,638,399 A *
`7/1999 Pepper et a1.
`........
`455/414
`5,930,700 A *
`
`7/2000 Hollenberg ..........
`455/456
`6,091,956 A *
`............ 455/414
`6,167,255 A * 12/2000 Kennedy et al.
`
`Primary Examiner—Vivian Chin
`Assistant Examiner—Kamran Afshar
`
`(74) Attorney, Agent, or Firm—Kevin D. Wills
`
`(57)
`
`ABSTRACT
`
`In an information appliance system 100, a user device 108
`comprises a client platform (200, FIG. 5) that includes a
`service framework (235, FIG. 5) to discover and connect
`with a variety of services, both remote and local, transient
`and persistent, and to disconnect from them when they are
`no longer of interest or become unavailable. The service
`framework 235 provides a standard, consistent, simplified
`way for services to make themselves available and for
`service-using entities to locate and connect with the services
`of interest to them. The service framework 235 comprises
`service event notification registries (254, 256, FIG. 7) in
`which service-requesting entities register templates defining
`the types of services they want to locate and connect with.
`However, the service framework 235, rather than connecting
`with any service that matches a desired service type, can
`further control a remote service lookup operation in accor-
`dance with various transport characteristics in the template,
`such as signal strength, quantity of data to be transferred,
`range, available bandwidth, communications cost, service
`location, time of day, vehicular velocity, and so forth. This
`conserves the platform’s memory and bandwidth resources
`by not connecting with services that would not satisfy a
`user’s request or that would be unduly transitory. Various
`methods of operating a service framework are also
`described.
`
`* cited by examiner
`
`12 Claims, 11 Drawing Sheets
`
`
`112
`
`CONCIERGE
`SERVICE "—
`
`
`
`
`
`170
`
`
`
`106
`
`
`
`LOCAL NODE:
`:KIOSK
`:CELL SITE
`sLAN
`:TELCO
`'tCABLE
`tSAlELLIIE
`:SERVER
`tOlHER
`
`
`
`
`
`
`
`
`REGIONAL
`NODE
`
`10
`
`1
`
`APPLE1045
`
`APPLE 1045
`
`1
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet1,0f11
`
`US6
`
`,580,916 B1
`
` as“
`
`we“we“
`
`moozmooz
`
`
`
`4<QO4A<onomm
`
`we“
`
`
`
`HmoOz4<ooA
`
`xmon*
`
`
`
`wka44mo*
`
`mo~
`
`MHH44m~<m*
`
`mm>mmm*
`
`zw=_o*
`
`aegup.
`
`mgm<o*
`
`z<;*
`
`
`
`mm>zmmmoH>zum
`
`NF“
`
`2
`
`
`
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 2 0f 11
`
`US 6,580,916 B1
`
`110
`
`159
`
`120
`
`PROCESSOR
`
`135
`
`LOCAL NODE(S)
`
`106
`
`142
`1
`
`144
`
`122
`
`124
`
`EXTRA-VEHICLE
`INTERFACE
`TRANSMITTER /
`
`RECEIVER
`
`POSITIONING
`DEVICE(S)
`
`131
`
`733
`134
`
`130
`
`1
`
`SPEAKERS
`
`MICROPHONE(S)
`TACTILE
`INTERFACE
`
`1
`
`36
`
`160
`
`INTRA-VEHICLE
`INTERFACE
`
` WIRELESS
`
`DEVICE(S)
`
`138
`
`164
`
`’5 7
`
`163
`
`165
`
`USER MODE CONTROL
`ALGORITHMS
`
`MEMORY
`
`126
`
`128
`
`108
`
`FIG. 2
`
`3
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 3 0f 11
`
`US 6,580,916 B1
`
`USER NODE(S)
`
`REGIONAL NODE(S)
`
`108
`
`‘\\T;?:\\\\\
`
`104
`
`168
`
`120
`
`PROCESSOR
`
`155
`
`167
`
`17
`
`TRANSMITTER /
`RECEIVER
`
`TRANSMITTER /
`RECEIVER
`
`1
`
`76
`
`
`
`
`
`
`
`
`
`
`
`143
`
`
`
`LOCAL NODE CONTROL
`ALGORITHMS
`
`146
`
`LOCAL NODE
`MEMORY
`
`TERRESTRIAL LINKS
`TO OTHER LOCAL NODES
`AND REGIONAL NODES
`
`106
`
`FIG._3
`
`LOCAL NOOE(s)
`
`REGIONAL NODE(S)
`
`777
`
`168
`
`123
`
`PROCESSOR
`
`1
`
`70
`
`169
`
`17
`
`5
`
`1
`
`TRANSMITTER /
`RECEIVER
`
`TRANSMITTER /
`RECEIVER
`
`
`
`
`78
`
`
`
`REGIONAL NODE
`CONTROL ALGORITHMS
`
`REGIONAL NODE
`MEMORY
`
`TERRESTRIAL LINKS
`TO OTHER LOCAL NODES
`AND REGIONAL NODES
`
`
`
`’50
`
`
`152
`
`104
`"'
`
`F I G, 4
`
`4
`
`

`

`US. Patent
`
`n
`
`US 6,580,916 B1
`
`New
`
`mm
`
` 1$32;EEE$32;532;M233228
`$2ngwmmmmmRNm=3ngmmmmiM%RN.M8m2m«towENmwmmR
`mmmmnunrmmmmmmmmmgwwmmmmM“
`52%Egg:8:\s
`
`2223.5”:A5:82:23:5:@805E55;282322
`msmnhwvswMNNth“KN
`
`
`
`smegp<dmHZMHAQ
`
`2m0mh<4m
`
`ngHommm
`
`mm<2pm0m
`
`mom
`
`
`
`
`
`mo<mzmp2H>m<mmHgm>HH<z
`
`4<=HmH>
`
`mmmm<gooz<Imomh<4¢MZH=o<=
`
`i.ngMAQHIM>i.ozmom=omng
`
`
`
`
`law:Eugenmmzpo
`mnmNMN
`
`
`
`wwwnew
`
`:mpm»moZHH<zmmomszug<mz
`
`
`
`
`
`5
`
`
`
`

`

`US. Patent
`
`Jun.17,2003
`
`an
`
`US 6,580,916 B1
`
`vvm
`
`
`
`own.mm>mmmm<o4
`
`in
`
`Ni,2:
`
`><z
`
`mzmomAcm.ohm
`
`5:5:5.2a:
`
`”mo55$
`
`$3
`
`Nam,
`
`
`mzo:<u:&<AE509328:5:8.85E55;zofi<oH><z
`
`Sm.Em.in2m.NR.:m.
`
`5:23w2%
`1fig532,;E32;EEEEmzmfifimE:EgawMUSEw”52%E:
`
`582.:E55
`
`
`
`.5:20:52,:.5:20:35.8
`
`SELUD0MSSECCA
`
`USAGE SERVICE
`
`DATA SYNC SERVICE
`
`PROFILE SERVICE
`
`PIM SERVICE
`
`TRIP PLAN SERVICE
`
`AD SERVICE
`
`m.ufim
`
`meEmfizm9M 3.8::
`
`
`
`6
`
`

`

`US. Patent
`
`580,916 B1
`
`£55.59Em:
`
`.NS__U_am"_EN__+3_$3533353\f_55mm52%
`ZOEEEZ_\7,_55%E:_\WENm._EVE5;?,Lhmd:u__Egg"5525m“5;?_@2238:
`EN\u/:35:2:)>Eu31\m_,Mu22::NRn,m_masswas“7IILE,w__M_h__Wr__._I__Ems:_.m_28:252.
`:55:_‘m.n=3:
`SEE.22::n20:52:
`
`_
`
`
`
`1||Ill'|ll'lu|"IIIIIIIIn'lll'l'lllllJ
`
`
`
`
`
` _55%2:222::Ea2:22:_gaze:_$23.%E222:Ex55%lessnew_am52%sz
`
`7
`
`
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 7 0f 11
`
`US 6,580,916 B1
`
`
`
`H30
`
`
`
`
`
`APPLICATION
`REQUESTING
`SERVICE ABC
`
`192?
`
`
`
`
`
`
`
`
`_ERVICE_RAMEWORK
`
`
`
`ll'rjg193
`
`
`191
`
`2L35
`
`H95
`
`H97
`
`SERVICE
`ABC
`
`
`
`
`“34
`
`194
`
`FIG. 8
`
`8
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 8 0f 11
`
`US 6,580,916 B1
`
`
`
`
`
`APPLICATION
`REQUESTING
`SERVICE XYZ
`
`1268
`
`
`
`,292
`
` CONNECTION
`
`MANAGER
`REMOTE
`281
`
`
`
`
`XYZ SERVICE
`SERVICE
`
`FRONTEND
`
`
`
`255
`
`4
`‘1
`275 I
`|
`
`T
`
`1
`I
`275W
`I
`
`1
`
`
`
`
`REMOTE
`REMOTE
`
`LOOKUP SERVICE
`XYZ SERVICE
`
`
`BACKEND
`
`
`BACKEND
`
`.265
`
`
`
`‘295
`
`FIG.
`
`9
`
`9
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 9 0f 11
`
`US 6,580,916 B1
`
`
`
`APPLICATION
`REQUESTING
`SERVICE XYZ
`
`
`
`SERVICE
`
`FRAMEWORK
`
`.235
`
`
`
`MANAGER
`
`
`CONNECTION
`
`REMOTE
`23’
`
`
`REMOTE
`SERVICE
`LOOKUP SERVICE
`SERVICE XYZ
`
`
`
`FRONTEND
`FRONTEND
`
`
`
`
`398
`
`393
`
`390
`
`
`
`SERVICE XYZ
`
`
`
`
`
`
`,282
`
`REMOTE
`
`BACKEND
`
`REMOTE
`LOOKUP SERVICE
`BACKEND
`
`265
`
`FIG.
`
`10
`
`10
`
`10
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 10 0f 11
`
`US 6,580,916 B1
`
`METHOD OF PROVIDING A REMOTE SERVICE TO A
`COMMUNICATIONS PLATFORM USING SERVICE ATTRIBUTES
`
`500
`
`
`
`
`
`
`USE A WIRELESS INTERFACE TO COUPLE THE COMMUNICATIONS
`PLATFORM TO A REMOTE COMMUNICATIONS NODE. THE REMOTE
`COMMUNICATIONS NODE INCLUDES SERVICE OBJECTS, AT LEAST
`ONE SERVICE ATTRIBUTE, AND A REMOTE LOOKUP SERVICE
`BACKEND. THE COMMUNICATIONS PLATFORM HAS A SERVICE
`FRAMEWORK,
`INCLUDING A REMOTE LOOKUP SERVICE FRONTEND.
`
`
`
`
`
`
`
`
`502
`
`THE REMOTE LOOKUP SERVICE BACKEND COMMUNICATES THE AT
`LEAST ONE SERVICE ATTRIBUTE IN THE REMOTE COMMUNICATIONS
`NODE TO THE REMOTE LOOKUP SERVICE FRONTEND.
`
`5(74
`
`
`
`(ASVNCHRONOUSLV)
`
`SERVICE—REQUESTING ENTITY REQUESTS A REMOTE SERVICE. THE
`SERVICE-REQUESTING ENTITY CONSTRUCTS A SERVICE TEMPLATE
`REPRESENTINC THE REMOTE SERVICE. THE SERVICE TEMPLATE
`HAS AT LEAST ONE SERVICE ATTRIBUTE. THE SERVICE ATTRIBUTE
`DESCRIBES A TRANSPORT ATTRIBUTE OF THE REMOTE
`COMMUNICATIONS NODE, OR A PREFERENCE OF THE SERVICE
`REQUESTING-ENTITY REGARDING THE REQUESTED REMOTE SERVICE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`506
`
`THE SERVICE-REQUESTING ENTITY ISSUES THE SERVICE
`TEMPLATE TO THE SERVICE FRAMEWORK
`
`.508
`
`
`
`510
`
`
`THE SERVICE
`
`FRAMEWORWS SERVICE
`
`
`REGISTRY HAS SERVICE OBJECTS (FROM
`
`
`THIS COMMUNICATIONS PLATFORM)
`
`
`MATCHING THE SERVICE
`TEMPLATE?
`
`
`NO
`
`YES
`
`FIG.
`
`11
`
`11
`
`11
`
`

`

`US. Patent
`
`Jun. 17, 2003
`
`Sheet 11 0f 11
`
`US 6,580,916 B1
`
`THE SERVICE FRAMEWORK BUFFERS SUCH SERVICE
`OBJECTS FOR THE SERVICE REQUESTING ENTITY
`
`512
`
`
`
`
`
`
`THE AT LEAST
`ONE SERVICE ATTRIBUTE
`
`
`NO
`IN THE REMOTE COMMUNICATIONS NODE
`
`MATCHES THE AT LEAST ONE SERVICE
`
`ATTRIBUTE IN THE SERVICE
`
`TEMPLATE?
`
`514
`
`
`
`
`
`YES
`
`516
`
`PERFORM LOOKUP ON THE REMOTE COMMUNICATIONS NODE
`
`
`
`ANY
`
`
`MATCHING SERVICE
`
`OBJECTS FOUND?
`
`
`
`BUFFER MATCHING SERVICE OBJECTS FOR
`SERVICE-REQUESTING ENTITY
`
`RETURN BUFFERED SERVICE OBJECTS (FROM THIS
`COMMUNICATIONS PLATFORM AND/0R REMOTE COMMUNICATIONS
`NODE
`TO SERVICE—REQUESTING ENTITY, OR RETURN NULL IF NONE.
`
`522
`
`END
`
`FIG. 12
`
`12
`
`12
`
`

`

`US 6,580,916 B1
`
`1
`SERVICE FRAMEWORK FOR EVALUATING
`REMOTE SERVICES BASED UPON
`TRANSPORT CHARACTERISTICS
`
`RELATED INVENTIONS
`
`This invention is related to the following inventions
`which are assigned to the same assignee as the present
`invention and which were filed on even date herewith:
`
`Ser. No. 09/662,439, entitled “Service Framework Sup-
`porting Remote Service Discovery and Connection”;
`Ser. No. 09/663,523, entitled “Service Framework with
`Just-In-Time Look-Up”;
`Ser. No. 09/663,522, entitled “Service Framework with
`Consolidation of Local and Remote Services”;
`Ser. No. 09/663,278, entitled “Service Framework with
`Local Proxy for Representing Remote Services”; and
`Ser. No. 09/662,441, entitled “Service Framework With
`Hidden Services”.
`
`FIELD OF THE INVENTION
`
`This invention relates generally to communications sys-
`tems and, in particular, to methods and apparatus for pro-
`viding services to wireless equipment in a wireless commu-
`nications system.
`
`BACKGROUND OF THE INVENTION
`
`There is an ever increasing demand for wireless commu-
`nications. Wireless subscribers desire to have access to
`
`information at any time and at any place. One of the fastest
`growing markets for providing wireless services is known as
`“telematics” and entails delivering a wide spectrum of
`information via wireless links to vehicle-based subscribers.
`
`The information can originate from multiple sources, such
`as the Internet and other public, private, and/or government
`computer-based networks; wireless telecommunications
`such as cellular, Personal Communication Service (PCS),
`satellite, land-mobile, and the like; terrestrial and satellite
`direct broadcasts including traditional AM/FM bands,
`broadband, television, video, geolocation and navigation via
`a global position system (GPS), and the like; concierge
`services providing roadside assistance, emergency calling,
`remote-door unlocking, accident
`reporting,
`travel
`conditions, vehicle security, stolen vehicle recovery, remote
`vehicle diagnostics, and the like; advertising services iden-
`tifying names and locations of businesses such as gas
`stations, restaurants, hotels, stores, and offices, and the like;
`tourist services such as points of interest, directions, hours of
`access, and the like; and many other sources that can provide
`information of any type. Many of the above services are not
`universally available, but rather they are transient in both the
`time and geoposition domains.
`Information can be communicated to telematics devices
`
`over relatively long wireless links, such as from a satellite or
`terrestrial node, or from relatively short wireless or wired
`links, such as from in-vehicle equipment or from hand-held
`devices like PDAs, portable computers, cellular phones, and
`the like.
`
`The services provided by telematics systems are not
`restricted to vehicle-based subscribers, and they can also be
`provided to subscribers at home, at work, or elsewhere. With
`so much mobility, the equipment located in the subscriber’s
`vehicle, or the equipment carried by or otherwise serving a
`subscriber, needs a way to connect with the plethora of
`services that are potentially available to it. The equipment
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`needs a way to discover, identify, select, and invoke services
`that are of interest to it, as well as to disconnect from
`services that are no longer of interest to it.
`It is known in the prior art to utilize certain commercially
`available software to locate services. However, systems
`utilizing such software are fixed, not mobile. Mobile sys-
`tems require connection software that
`is specifically
`designed to fulfill requirements that distinguish mobile
`systems from fixed systems. For example, mobile systems
`often have limited battery power, limited bandwidth, limited
`memory, and only stay in any given place for a limited time.
`Mobile systems also may have rigorous security require-
`ments in order to protect the identify and location of mobile
`subscribers, as well as to insure that the mobile equipment,
`including software, is not involuntarily altered or corrupted,
`for example, by downloading uncertified software that could
`replace, infect, or otherwise have an adverse impact upon
`the software residing in the system. Known systems that
`dynamically provide access to services typically download
`software code to the client platform and execute the code on
`the client platform. Not only does this introduce potentially
`dangerous security issues, but the downloaded code can
`overwhelm the mobile system’s limited memory capability.
`It is known in the art for potentially all services that could
`be requested by an application on a client platform to
`register as available. For example, in the JiniTM connection
`technology commercially available from Sun Microsystems,
`Palo Alto, Calif., services register themselves with all
`lookup servers belonging to the same group, irrespective of
`demand for the services. However, this can be a disadvan-
`tage in a mobile platform, because the platform’s commu-
`nications traffic could be excessive, and further the plat-
`form’s memory resources could be quickly depleted.
`Moreover, in a mobile environment, the client platform may
`only be within range of or be able to communicate with a
`remote service provider for a brief time or with an accept-
`able signal-to-noise ratio. Further, a user of a mobile system
`may desire only a specific type of service, and it would be
`inefficient to lookup and supply the user with services that
`did not satisfy the user’s specific request.
`Accordingly, there is a significant need for methods and
`apparatus that are more conserving of resources in the client
`platform, particularly for mobile platforms.
`There is also a significant need for methods and apparatus
`that do not automatically populate a client platform’s service
`registry with entries representing all of the remote services
`requested by applications, but that look up and connect only
`those services that satisfy a user’s request and that have a
`reasonable chance of being found and connected to, particu-
`larly in view of changing conditions pertaining to a mobile
`platform.
`There is further a significant need for methods and
`apparatus that control access to remote services based in part
`upon transport characteristics of a mobile platform without
`unnecessarily involving applications that
`reside in the
`mobile platform.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The invention is pointed out with particularity in the
`appended claims. However, other features of the invention
`will become more apparent and the invention will be best
`understood by referring to the following detailed description
`in conjunction with the accompanying drawings in which:
`FIG. 1 depicts an exemplary information appliance
`system, according to one embodiment of the invention;
`FIG. 2 depicts a user node of an exemplary information
`appliance system;
`13
`
`13
`
`

`

`US 6,580,916 B1
`
`3
`FIG. 3 depicts a local node of an exemplary information
`appliance system;
`FIG. 4 depicts a regional node of an exemplary informa-
`tion appliance system;
`FIG. 5 illustrates major functional software blocks of a
`client platform, according to one embodiment of the inven-
`tion;
`FIG. 6 illustrates major functional software blocks of a
`server platform, according to one embodiment of the inven-
`tion;
`FIG. 7 illustrates a simplified block diagram showing
`various components of a service framework, according to
`one embodiment of the invention;
`FIG. 8 illustrates a diagram depicting a local service
`lookup operation, as performed by a service framework,
`according to one embodiment of the invention;
`FIG. 9 illustrates a diagram depicting the initiation of a
`remote service discovery operation, as performed by a
`service framework, according to one embodiment of the
`invention;
`FIG. 10 illustrates a diagram depicting the conclusion of
`a remote service discovery operation, as performed by a
`service framework, according to one embodiment of the
`invention; and
`FIGS. 11 and 12 together illustrate a flow diagram of a
`method of providing a remote service to a communications
`platform using service attributes, according to one embodi-
`ment of the invention.
`
`DETAILED DESCRIPTION OF THE DRAWINGS
`
`The present invention is a distributed communications
`system with software components running on mobile client
`platforms and on remote server platforms.
`FIG. 1 depicts an exemplary information appliance sys-
`tem 100, according to one embodiment of the invention.
`Shown in FIG. 1 are examples of components of an infor-
`mation appliance system 100, which comprises a plurality of
`servers 102 coupled to a regional node 104, and a plurality
`of local nodes 106 coupled to regional node 104. There can
`be any number of servers 102, regional nodes 104, and local
`nodes 106 within the information appliance system 100. The
`regional node 104 can be coupled to a network, such as the
`Internet 114, and to any number of concierge services 112.
`Servers 102, while illustrated as coupled to regional node
`104, could be implemented at any hierarchical
`level(s)
`within information appliance system 100. For example,
`servers 102 could also be implemented within one or more
`local nodes 106, concierge service 112, and Internet 114.
`Without limitation, local node 106 can be a kiosk, cell
`site, local area network (LAN), telephone company, cable
`company, satellite, or any other information service,
`structure, or entity that can transmit, receive, and/or com-
`municate information. An information service can be any
`desired service including, but not
`limited to,
`telecommunications, broadband communications,
`entertainment,
`television, radio, recorded music, movies,
`computer-based games, Internet, and other types of public,
`private, personal, commercial, government, and military
`communications.
`
`Local node 106 is coupled to any number of user nodes
`108 via wireline or wireless interface means. In the embodi-
`
`ment depicted in FIG. 1, user nodes 108 can transmit and
`receive information using wireless communications means.
`User nodes 108 without limitation can include a wireless
`unit such as a cellular or Personal Communication Service
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`(PCS) telephone, a pager, a hand-held computing device
`such as a personal digital assistant (PDA) or Web appliance,
`or any other type of communications and/or computing
`device. Without limitation, one or more user nodes 108 can
`be contained within, and optionally form an integral part of
`a vehicle, such as a car 109, truck, bus, train, aircraft, or
`boat, or any type of structure, such as a house, office, school,
`commercial establishment, and the like. As indicated above,
`a user node 108 can also be implemented in a device that can
`be carried by the user of the information appliance system
`100.
`
`In one embodiment, a user node 108 comprises an
`in-vehicle information appliance comprising various human
`interface (H/I) elements such as a display 131, a multi-
`position controller 113, one or more control knobs 115 and
`116, one or more indicators 117 such as bulbs or light
`emitting diodes (LEDs), one or more control buttons 118,
`one or more speakers 132, a microphone 133, and any other
`H/I elements required by the particular applications to be
`utilized in conjunction with the information appliance.
`User nodes 108 can also transmit and/or receive data to
`and from devices and services other than local node 106. For
`example, user nodes 108 can transmit and receive data to
`and from a satellite 110.
`
`The information appliance system 100 including the user
`nodes 108 is capable of utilizing audio data in any number
`of encoding methods from any number of sources that
`include, but are not limited to, ADPCM (adaptive differen-
`tial pulse-code modulation); CD-DA (compact disc—digital
`audio) digital audio specification; and ITU (International
`Telecommunications Union) Standards G.711,G.722,G.723
`& G728.
`
`The information appliance system 100 including the user
`nodes 108 is capable of utilizing video data in any number
`of encoding methods from any number of sources that
`include, but are not limited to, ITU Standards H.261 &
`H.263; Motion JPEG (Joint Photographic Experts Group);
`and MPEG-1, MPEG-2 and MPEG-4 (Motion Picture
`Experts Group) standards.
`Additionally,
`the information appliance system 100 is
`capable of utilizing audio and video data in any number of
`formats and using any type of transport technology that
`include, but are not limited to, USB (Universal Serial Bus);
`IEEE (Institute of Electrical and Electronics Engineers)
`Standards 1394—1995; and IEEE 802.11; and using proto-
`cols such as HTTP (hypertext transfer protocol); TCP/IP
`(transmission control protocol/Internet protocol); and UDP/
`IP (user datagram protocol/Internet protocol).
`FIG. 2 depicts a user node 108 of an exemplary informa-
`tion appliance system 100. As indicated above, user node
`108 can without limitation be located within or be an integral
`part of any vehicle, such as an automobile, truck, bus, train,
`aircraft, or boat, or be carried with a user, or be located in
`a stationary location or structure, and the like. As shown in
`FIG. 2, the user node 108 comprises a processor 120 with
`associated user node memory 128. User node memory 128
`comprises user node control algorithms 126. User node
`memory 128 can include, but is not limited to, random
`access memory (RAM), read only memory (ROM), flash
`memory, and other memory such as a hard disk, floppy disk,
`and/or other appropriate type of memory. User node 108 can
`initiate and perform communications with other nodes
`shown in FIG. 1 in accordance with suitable computer
`programs, such as user node control algorithms 126, stored
`in user node memory 128.
`User node 108 also comprises a user interface device 130
`that can include without limitation a tactile interface 134,
`microphone 133, speakers 132, any number of displays 131,
`and the like.
`
`14
`
`14
`
`

`

`US 6,580,916 B1
`
`5
`User node 108 also comprises an extra-vehicle interface
`122,
`typically implemented as a transmitter/receiver for
`transmitting and receiving communications via a wireless
`link 144 among the various nodes depicted in FIG. 1.
`Extra-vehicle interface 122 also facilitates communications
`
`among other devices via wireless link 159, for example,
`satellite 110, and the like. Communications are transmitted
`and received through one or more antennas 142 of any type,
`which can include any one or combination of a fixed,
`steerable, omni-directional, or phased array antenna. Steer-
`able antenna can include, but is not limited to, an electroni-
`cally steerable antenna, physically steerable antenna, and the
`like. User node 108 can also include positioning devices 124
`of any type, for example, global positioning system (GPS),
`gyroscope, compass, accelerometer, altimeter, rate sensors,
`and other positioning devices 124 that can define the
`position, attitude, and/or motion vector of the user node 108.
`User node 108 can also comprise an intra-vehicle inter-
`face 136, which can include antenna 160. Intra-vehicle
`interface 136 can include multiple types of transceivers (not
`shown) and antennas 160 to implement different short-range
`wireless protocols, such as BluetoothTM, IEEE wireless local
`area network (LAN) standard 802.11, and infrared. Intra-
`vehicle interface 136 is capable of short-range wireless
`communications, via wireless link 161, with other wireless
`devices 138 and sensors 140 of any type, for example,
`wireless telephones, computers, pagers, PDA’s, entertain-
`ment devices, printers, fax machines, wireless local net-
`works such as BluetoothTM, vehicle sensors, vehicle
`actuators, vehicle displays, and the like. In addition, intra-
`vehicle interface 136 can be used to communicate with
`
`wireless devices that are physically outside the vehicle but
`close to the vehicle, such as a service station kiosk. One or
`more wireless devices 138 can comprise one or more
`antennas such as antenna 162 and communicate via wireless
`
`link 163. One or more sensors 140 can comprise one or more
`antennas such as antenna 164 and communicate via wireless
`link 165.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`In one embodiment, the various components and systems
`in FIG. 2 can communicate with each other via a wireline
`
`40
`
`link 135, for example, a power/data/control bus, and the like.
`In another embodiment, some of the various components
`and systems in FIG. 2 could communicate via a wireless
`link.
`
`FIG. 3 depicts a local node 106 of an exemplary infor-
`mation appliance system 100. As shown in FIG. 3, the local
`node 106 comprises a processor 121 with associated local
`node memory 148. Local node memory 148 comprises local
`node control algorithms 146. Local node memory 148 can
`include, but
`is not
`limited to,
`random access memory
`(RAM), read only memory (ROM), and other memory such
`as a hard disk, floppy disk, and/or other appropriate type of
`memory. Local node 106 can initiate and perform commu-
`nications with other nodes shown in FIG. 1 in accordance
`
`with suitable computer programs, such as local node control
`algorithms 146, stored in local node memory 148.
`Local node 106 also comprises any number of
`transmitters/receivers 175 for transmitting and receiving
`communications via wireless link 144 to and from any
`number of user nodes 108. Communications are transmitted
`
`and received through antenna 166.
`Local node 106 also comprises any number of transmitter/
`receivers 176 for transmitting and receiving communica-
`tions via wireless link 168 to and from any number of
`regional nodes 104. Communications are transmitted and
`received through antenna 167. As shown in FIG. 3, the
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`various components and systems can also communicate via
`terrestrial links such as wireline, radio frequency (RF), or
`optical links, and the like, with other local nodes 106 and
`regional nodes 104.
`In one embodiment, the various components and systems
`in FIG. 3 can communicate with each other via a wireline
`
`link 135, for example, a power/data/control bus, and the like.
`In another embodiment, some of the various components
`and systems in FIG. 3 could communicate via a wireless
`link.
`
`FIG. 4 depicts a regional node 104 of an exemplary
`information appliance system 100. As shown in FIG. 4, the
`regional node 104 comprises a processor 123 with associ-
`ated regional node memory 152. Regional node memory 152
`comprises regional node control algorithms 150. Regional
`node memory 152 can include, but is not limited to, random
`access memory (RAM), read only memory (ROM), and
`other memory such as a hard disk, floppy disk, and/or other
`appropriate type of memory. Regional node 104 can initiate
`and perform communications with other nodes shown in
`FIG. 1 in accordance with suitable computer programs, such
`as regional node control algorithms 150, stored in regional
`node memory 152.
`Regional node 104 also comprises any number of
`transmitters/receivers 177 for transmitting and receiving
`communications via wireless link 171 to and from any
`number of local nodes 106. Communications are transmitted
`
`and received through an antenna 170.
`Regional node 104 also comprises any number of
`transmitters/receivers 178 for transmitting and receiving
`communications via wireless link 168 to and from any
`number of regional nodes 104, servers 102, and the like.
`Communications are transmitted and received through
`antenna 169. As shown in FIG. 4, the various components
`and systems can also communicate, via terrestrial links such
`as wireline, radio frequency (RF), or optical links, and the
`like, with other local nodes 106 and regional nodes 104.
`In one embodiment, the various components and systems
`in FIG. 4 can communicate with each other via a wireline
`
`link 135, for example, a power/data/control bus, and the like.
`In another embodiment, some of the various components
`and systems in FIG. 4 could communicate via a wireless
`link.
`
`In FIGS. 2—4, processors 120, 121, and 123, respectively,
`perform distributed, yet coordinated, control functions
`within information appliance system 100 (FIG. 1). Proces-
`sors 120, 121, and 123 are merely representative, and
`information appliance system 100 can comprise many more
`processors within the distributed servers 102, regional nodes
`104, local nodes 106, and user nodes 108.
`Processors 120, 121, and 123 can be of any suitable type
`or types, depending upon the functional requirements of the
`overall information appliance system 100 and its constituent
`elements, including servers 102, regional nodes 104, local
`nodes 106, and user nodes 108.
`Processors 120, 121, and 123 comprise portions of data
`processing systems that perform processing operations on
`computer programs that are stored in computer memory
`such as, but not limited to, user node memory 128, local
`node memory 148, and regional node memory 152. Proces-
`sors 120, 121, and 123 also read data from and store data to
`memory, and they generate and receive control signals to
`and from other elements within information appliance sys-
`tem 100.
`
`The particular elements of the information appliance
`system 100, including the elements of the data processing
`15
`
`15
`
`

`

`US 6,580,916 B1
`
`7
`systems, are not limited to those shown and described, and
`they can take any form that will implement the functions of
`the invention herein described.
`
`To provide an example of one context in which the present
`invention may be used, a brief overview of a client platform
`and a server platform, together with their associated soft-
`ware modules, will now be described. The present invention
`is not limited to implementation by any particular set of
`elements, and the description herein is merely representa-
`tional of one embodiment. The specifics of one or more
`embodiments of the invention are provided below in suffi-
`cient detail to enable one of ordinary skill in the art to
`understand and practice the present invention.
`
`Overview of Client Platform
`
`FIG. 5 illustrates major functional software blocks of a
`client platform 200, in accordance with one embodiment of
`the invention. Architecturally, the user node 108 comprises
`a software-based client platform 200 that supports a wide
`range of applications and services. This provides great
`flexibility and allows the user platform’s feature set to be
`readily expanded or updated after the user node 108 has been
`deployed into its intended market.
`These software blocks are computer program modules
`comprising computer instructions, such as user node control
`algorithms 126,
`that are stored in a computer-readable
`medium such as user node memory 128. These software
`modules are merely representative of one embodiment of the
`invention. In other embodiments, additional modules could
`be provided as needed, and/or unneeded modules could be
`deleted.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`The software blocks include the following modules, each
`of which is briefly summarized below according to its
`reference numeral in FIG. 5.
`
`35
`
`The client platform software comprises three general
`layers: applications 202, foundation software 204 upon
`which the applications 202 are supported, and platform-
`specific software 206. In one embodiment, the upper two
`layers are implemented in the JavaTM programming
`language, available from various suppliers, including Sun
`Microsystems, Inc., Palo Alto, Calif. One advantage of the
`JavaTM programming language is the support of code dis-
`tribution in a platform-independent manner.
`The lowest layer, i.e. the platform-specific software 206,
`comprises a real-time operating system 208, a virtual
`machine platform (such as the JavaTM 2 Virtual Machine,
`available from Sun Microsystems, Inc.) and associated
`classes 242, and a native library interface 244.
`Referring to FIG. 5, applications 202 can comprise an
`extremely wide variety of informational, safety, query,
`communications, entertainment, and other applications, for
`example navigation 211, weather 212, stocks 213, traffic
`214, news 215, and others 216 of any type. As used herein,
`an “application” is defined as any computer program that
`provides one or more functions that are of interest to a user
`of the information appliance system 100.
`Foundation software 204, in one embodiment, comprises
`the following modules, each of which will n

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