`Twitter, Inc. v. BlackBerry Ltd.
`Page 00001
`
`
`
`US. Patent
`
`Mar. 5, 2002
`
`Sheet 1 0f 5
`
`US 6,353,398 B1
`
`/—10
`
`20
`
`LOCATION
`
`lg.
`
`SPECIFIC
`
`SYSTEM
`
`29
`
`pm
`N?
`2m
`nc<
`“Jr—
`*‘<
`
`Page 00002
`
`Page 00002
`
`
`
`US. Patent
`
`Ddar.5,2002
`
`SheetZ 0f5
`
`US 6,353,398 B1
`
`____
`
`______
`
`_awn/mom<o"S.
`
`._.Z<mD<.rmm_m
`
`Allmww:
`
`m_I__mO_2
`
`Page 00003
`
`Page 00003
`
`
`
`US. Patent
`
`aM
`
`mm.
`
`59
`
`5M
`
`SU
`
`m
`
`momI\4
`
`ON
`
`
`
`wFzmzzmjmxxwmmm<m<25m323%823mm5mm>j<o_zn_<mwo_>_mo>j<o_In_<moo_>_mo
`
`
`
`
`
`
` 8._mman.m3«mm:pz<>mjmm
`6,Alli>j<o_1m<moozmo
`
`
`
`Page 00004
`
`Page 00004
`
`
`
`
`US. Patent
`
`Mar. 5, 2002
`
`Sheet 4 0f 5
`
`US 6,353,398 B1
`
`1'
`CD
`
`5,-
`._
`LI.
`
`0O
`
`)
`
`DU)
`
`
`
`ii“-
`2
`5g
`'33::
`co
`>3_l
`_1£fl
`<<
`05
`9m
`
`a
`
`I
`
`E
`1.1—
`0&3
`Em
`
`a E
`
`Page 00005
`
`OI
`
`"
`
`INTERNET
`
`Page 00005
`
`
`
`US. Patent
`
`LaM
`
`20025,
`
`S
`
`5f05w
`
`353,6SU
`
`1B
`
`8Imm9".
`
`
`
`
`
`
`mo_>m_n_512.mo_>mo><dw5mamaom<_._mamaxma
`
`Page 00006
`
`h.6528SE28
`._<z__2mmfim>_mo$2:._oEzoox20
`
`
`
`
`
`¥m0>>._.m_Z
`
`mw._.&<o<
`
`o:K8292
`
`rI | :||||||| | | | I
`
`Page 00006
`
`
`
`
`
`US 6,353,398 B1
`
`1
`SYSTEM FOR DYNAMICALLY PUSHING
`INFORMATION TO A USER UTILIZING
`GLOBAL POSITIONING SYSTEM
`
`FIELD OF THE INVENTION
`
`The present invention described below generally relates to
`a system for directing information to specific geographic
`locations at related points in time, and more particularly to
`dynamically communicating linked information to mobile
`users at specific geographic locations via a global satellite
`positioning system.
`
`BACKGROUND OF THE INVENTION
`
`Global positioning systems provide many conveniences
`for modem living. People may find themselves in com-
`pletely unknown areas, and yet, they may have the comfort
`of knowing a system has their location pinpointed and
`directed on a computer screen. Still better yet, global posi-
`tioning systems may provide directions for going from the
`unknown location to a known location. While many users of
`conventional global positioning systems value received
`location and directional
`information, more specific and
`detailed information related to the location is often needed.
`
`It is common experience to arrive at a particular destination
`(e.g., business or restaurant) after closing. Though a posi-
`tioning system may have provided the directions to the
`location,
`it would be useful
`to know what
`the normal
`business hours were for example when arriving at
`the
`location. Likewise, it would be useful for a system to present
`all known entity types in a certain region. If a person was in
`an unfamiliar city for example, and needed medical care,
`simply knowing the present location would not direct the
`person to the nearest hospital. A more powerful system is
`therefore necessary to provide mobile users with specific
`information relating to the point in time the user is at a
`specific location. This type of system is currently not pro-
`vided for with conventional systems.
`In view of the above issues, it would be desirable for a
`system which can provide relevant information to location-
`specific users at relevant points in time.
`
`SUMMARY OF THE INVENTION
`
`The present invention provides a system for directing and
`receiving information to and from geographically relevant
`locations. The system links information from the internet or
`other relevant databases that is related to region-specific
`areas and directs the information to users situated near the
`
`region-specific areas. The possibilities for the type of infor-
`mation that may be linked to a geographic location is
`virtually limitless. In one particular instance, a store may
`announce a bargain sale at the same point in time that a
`customer is in close proximity. In another instance, a mobile
`user could stop at a home and receive information from a
`homeowner who happens to be away or leave a message for
`the homeowner with the message easily retrieved from a
`web page or e-mail system. In still yet another instance, a
`menu may be observed for a restaurant simply by approach-
`ing the restaurant. The type of information received from
`substantially any location resides in data bases, such as the
`Internet, linked to the location by the present invention.
`The present
`invention also provides for bidirectional
`operations. For instance, a query can be made inquiring of
`all the hospitals located within a square mile of the present
`location. The query in fact may be substantially as broad or
`narrow as the user desires. The same hospital locations may
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`be queried for a given city or state, for example. As can be
`appreciated,
`this type of information may be crucial
`to
`receiving emergency health care when one is in a time
`critical situation and in unfamiliar surroundings.
`The present invention also provides for directing infor-
`mation to users who meet certain criteria. Citing the example
`above, the store advertisement may be directed to only those
`drivers who are above or below a certain income level, for
`example. This type of demographic information may be
`obtained, for example, from the vehicle type (e.g., expensive
`sports car), from past purchasing practices, or from surveys
`and studies. The present invention also provides a hand-held
`system which allows users to receive region-specific infor-
`mation directed to the user’s particular location. For
`example, a user may be situated in a new location, and the
`user may then request and receive information about res-
`taurants within a defined area defined by the user. For
`example, the user may query for restaurants within three
`blocks or within the entire city and receive specific audio
`and/or display information related to the query.
`To the accomplishment of the foregoing and related ends,
`the invention, then, comprises the features hereinafter fully
`described. The following description and the annexed draw-
`ings set forth in detail certain illustrative embodiments of the
`invention. These embodiments are indicative, however, of
`but a few of the various ways in which the principles of the
`invention may be employed. Other objects, advantages and
`novel features of the invention will become apparent from
`the following detailed description of the invention when
`considered in conjunction with the drawings.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a global positioning directed
`information system in accordance with the present inven-
`tion;
`FIG. 2 is a block diagram depicting a region directed
`information system in accordance with the present inven-
`tion;
`FIG. 3 is a block diagram of a focus directed information
`system in accordance with the present invention;
`FIG. 4 is a block diagram of a hand-held directed infor-
`mation system in accordance with the present invention; and
`FIG. 5 is a schematic block diagram of a system in
`accordance with the present invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`The present invention will now be described with refer-
`ence to the drawings, wherein like reference numerals are
`used to refer to like elements throughout.
`Referring initially to FIG. 1, a global positioning directed
`information system (GPDIS) 20 having whereabout infor-
`mation from a location-specific user system 40 is shown.
`The GPDIS 20 has access to an information system such as
`the Internet 30 for providing region-directed information to
`a location-specific user system 40 at any suitable point in
`time. It is to be appreciated that the information system may
`include other data bases than the Internet 30. The GPDIS 20
`
`includes a satellite tracking system (not shown) such as a
`global positioning system (GPS) for locating users and
`transmitting information to and from the user. A directed
`information system (not shown) is combined with the GPS
`by the present invention to link the Internet system infor-
`mation with location-specific users. The directed informa-
`tion system is a bidirectional system that allows specific
`
`Page 00007
`
`Page 00007
`
`
`
`US 6,353,398 B1
`
`3
`information to be linked and transmitted to specific geo-
`graphic locations at specific points in time. Users may have
`information directed to them as they come within a prede-
`termined proximity to certain locations or conversely, users
`may acquire relevant information that is related to a par-
`ticular area the user may happen to be in.
`The directed information system includes an object ori-
`ented computing and software system for linking relevant
`regional information sources to users associated with the
`particular region. For example,
`the directed information
`system may define sectional regions in a city and associate
`particular information with those regions. Whenever a
`location-specific user is located within a particular region,
`the directed information system may automatically transmit
`the region-specific information to the location directed by
`the user. The location-specific user system 40 is preferably
`a mobile system and includes a display and audio informa-
`tion system for communicating information to the user. Also,
`a sending/receiving system is included for communicating
`with the GPS system. The display system communicates a
`plurality of relevant visual information related to a particular
`region at a particular point
`in time. The audio system
`provides audio related information to the mobile system. For
`example, as the user approaches a predetermined distance to
`a gas station, an audio message may alert the driver to a sale
`for motor oil. The audio and visual information may be
`changed as often as desired by any particular location by
`simply changing the contents of the Internet data base. The
`mobile location-specific user system 40 may be imple-
`mented in a plurality of systems. For example, automobile
`systems, cellular telephone systems, and hand-held mobile
`systems known as “palm pilots” may be employed to push
`information to users.
`
`Now referring to FIG. 2, a particular embodiment of the
`present invention is shown employing push technology. A
`mobile user 50 is shown passing by a restaurant 60 and a car
`dealership 70. The GPDIS 20 detects that the mobile user 50
`is within a predetermined region that the restaurant and
`dealership are part of The directed information system of the
`GPDIS 20 links a web page or data source residing on the
`Internet 30 related to the restaurant 60 and pushes the
`information via the GPS to the mobile user 50 as the user
`
`drives by the restaurant. Likewise, the directed information
`system pushes car dealership information to the user as the
`user passes or is near the predetermined vicinity of the car
`dealership by linking internet information related to the car
`dealership.
`Push technology is implemented as part of the directed
`information system of the GPDIS 20, however, since object
`oriented programming is employed,
`the push technology
`may be implemented across several systems. The technol-
`ogy is based in part on movement detection provided by a
`global positioning system. As a user moves within a prede-
`termined distance of any particular region,
`the directed
`information system pushes information to the user in con-
`nection to the movement. Upon notification of the users
`whereabouts by the GPS, the directed information system
`links relevant information that is associated with the par-
`ticular geographical location and subsequently provides the
`information to the GPS for transmittal to the user as the user
`
`is within the predetermined area for reception of the relevant
`information. As the user is moving, different audio and
`visual information is pushed in connection with the move-
`ment. For example, as a user is within a first geographical
`region, Internet data associated with a first storage data
`section is pushed to the user. As the user moves to a second
`geographical location, data associated with a second storage
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`data section is pushed to a user. Clearly, this sequence may
`be continued substantially.
`Now referring to FIG. 3 another embodiment of the
`present invention is shown. A focus directed information
`system 20a is shown. The focus directed system 20a com-
`bines the directed information system mentioned above with
`a selectively defined criteria parameter. The selectively
`defined criteria may include demographic and other related
`criteria for
`linking specific information to a regionally
`located user. For example, as shown in FIG. 3, a demo-
`graphically relevant user 84 may be riding in an expensive
`sports car. A demographically related data base 80 is the
`linked to by the GPDIS 20 that contains relevant businesses
`that may cater exclusively to persons above a certain income
`level. As the car is driven within a predetermined distance of
`a demographically related establishment 82,
`the GPDIS
`provides demographically related information 80 to the
`demographically relevant user 84. It is to be appreciated that
`demographic information may be obtained for users in a
`variety of ways. For example, users may provide survey
`information which is stored as part of the demographic data
`base. It is further to be appreciated that other information
`may trigger the directed information system to transmit
`relevant information to a user. For example, purchasers of
`electronic items may be sent notices as they pass within
`predetermined distances of the electronics store. The elec-
`tronics store data base is established from past purchases of
`electronics.
`
`Finally, referring to FIG. 4, another embodiment of the
`present invention is shown. A hand-held system 90 is shown
`which may wirelessly communicate with the directed infor-
`mation system of the GPDIS 20. The hand-held system (e. g.,
`palm pilot) contains a computing and data input/output
`system (e.g., keypad, microphone, speaker) for directing
`queries to and receiving information from the directed
`information system. For example, a user may have the
`hand-held system 90 in a city the user is new to. The user
`may direct a query to the GPDIS 20 inquiring which locally
`related establishments 94 (e.g.,
`restaurants, hospitals,
`businesses) are located within a square block of the user’s
`present location. Upon receiving the request, the directed
`information system finds the related establishments within
`the square block,
`locates related Internet 30 data base
`information and transmits the information to the hand-held
`
`system 90 for audio or visual display. It is to be appreciated
`that the user may have any suitable information delivered for
`which the directed information system has links for the
`specified region. As described above, push technology may
`also be employed to provide information to the hand-held
`system.
`Referring now to FIG. 5, a detailed block diagram of a
`computer system 10c is shown in accordance with the
`present invention. This system may be employed as either a
`client and/or a server in accordance with the present inven-
`tion and may be implemented by any of the systems includ-
`ing the directed information system or the hand-held system
`described above. The computer system 106 includes a cen-
`tral processing unit (CPU) 120 which is coupled to a bus
`122. The CPU or processor 120 can be any of a plurality of
`processors, such as the Pentium, Pentium 11, Pentium
`MMX, Pentium Merced, Power PC, SPARC, SGIiMIPS
`and other similar and compatible processors.
`It will be
`appreciated that since the present invention provides for a
`multi-platform environment as described in greater detail
`below, most major processors and/or computers may be
`employed to carry out the present invention. The processor
`120 functions to perform various operations described
`
`Page 00008
`
`Page 00008
`
`
`
`US 6,353,398 B1
`
`5
`herein as well as for carrying out other operations related to
`the system 106. The manner in which the processor 120 can
`be programmed to carry out the functions relating to the
`present invention will be readily apparent to those having
`ordinary skill in the art based on the description provided
`herein.
`
`The bus 122 includes a plurality of signal lines 124 for
`conveying addresses, data and controls between the CPU
`120 and a number of other system bus components. The
`other system bus components include a memory 128
`(including a Random Access Memory (RAM) 130 and a
`Read Only Memory (ROM) 132) and a plurality of input/
`output (I/O) devices. The memory 128 serves as data storage
`and may store appropriate operating code to be executed by
`the processor 120 for carrying out the functions described
`herein.
`
`The RAM 130 provides program instruction storage and
`working memory for the CPU 120. The ROM 132 contains
`software instructions known as the Basic Input/Output Sys-
`tem (BIOS) for performing interface operations with the I/O
`devices. Also stored in the ROM 132 is a software routine
`
`which operates to load a boot program from the booting
`device. The boot program will typically be executed when
`the computer system 106 is powered on or when initializa-
`tion of the system 106 is needed.
`The I/O devices (optionally included in the mobile
`systems) include basic devices such as data storage devices
`(e.g., floppy disks,
`tape drives, CD ROMs, hard disks).
`Typically, the I/O devices communicate with the CPU 120
`by generating interrupts. The CPU 120 distinguishes inter-
`rupts from among the I/O devices through individual inter-
`rupt codes assigned thereto. Responses of the CPU 120 to
`the I/O device interrupts differ, depending, among other
`things, on the devices generating the interrupts. Interrupt
`vectors are provided to direct the CPU 120 to different
`interrupt handling routines.
`The interrupt vectors are generated during initialization
`(e.g., boot up) of the computer system 106 by execution of
`the BIOS. Because responses of the CPU 120 to device
`interrupts may need to be changed from time to time, the
`interrupt vectors may need to be modified from time to time
`in order to direct the CPU 120 to different interrupt handling
`routines. To allow for modification of the interrupt vectors,
`they are stored in the RAM 130 during operation of the
`computer system 106.
`A disk control subsystem 140 bidirectionally couples one
`or more disk drives 142 (e.g., floppy disk drives, CD-ROM
`drives, etc.) to the system bus 122. The disk drive 142 works
`in conjunction with a removable storage medium such as a
`floppy diskette or CD-ROM.
`A hard drive control subsystem 146 bidirectionally
`couples a rotating fixed disk, or hard drive 148 to the system
`bus 122. The hard drive control subsystem 146 and hard
`drive 148 provide mass storage for CPU instructions and
`data.
`
`A terminal control subsystem 156 is also coupled to the
`bus 122 and provides output
`to a display device 158,
`typically a CRT monitor or LCD display, and receives inputs
`from a manual input device 160 such as a keyboard. The
`terminal control system, the display device, and the manual
`input device are typically included in the mobile systems
`described above, however, they may be optionally included
`with the directed information system and global positioning
`systems, for example.
`A network adapter 170 is provided for coupling the
`system 106 to a network.
`It
`is noted that
`the directed
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`information system requires a network adapter in order to
`access the Internet.
`
`One of the preferred implementations of the present
`invention is as several sets of instructions in a code module
`
`in the main memory (e.g., RAM 130). Until
`resident
`required by the computer system 106, the sets of instructions
`may be stored in another computer memory, for example, in
`a hard disk drive, or in a removable memory such as an
`optical disk for eventual use in a CDROM or a floppy disk
`for eventual use in the floppy disk drive.
`In the preferred embodiment,
`the present invention is
`implemented via object oriented programming techniques.
`Object oriented programming shifts the emphasis of soft-
`ware development away from function decomposition and
`towards the recognition of units of software called “objects”
`which encapsulate both data and functions. Object Oriented
`Programming (OOP) objects are software entities compris-
`ing data structures and operations on data. Together, these
`elements enable objects to model virtually any realworld
`entity in terms of its characteristics, represented by its data
`elements, and its behavior represented by its data manipu-
`lation functions. In this way, objects can model concrete
`things like people and computers, and they can model
`abstract concepts like numbers or geometrical concepts.
`The benefit of object technology arises out of three basic
`principles:
`encapsulation, polymorphism and inheritance.
`Objects hide or encapsulate the internal structure of their
`data and the algorithms by which their functions work.
`Instead of exposing these implementation details, objects
`present interfaces that represent their abstractions cleanly
`with no extraneous information. Polymorphism takes encap-
`sulation one step further—the idea being many shapes, one
`interface. A software component can make a request of
`another component without knowing exactly what that com-
`ponent is. The component that receives the request interprets
`it and figures out according to its variables and data how to
`execute the request. The third principle is inheritance, which
`allows developers to reuse pre-existing design and code.
`This capability allows developers to avoid creating software
`from scratch. Rather, through inheritance, developers derive
`subclasses that inherit behaviors which the developer then
`customizes to meet particular needs.
`In particular, an object includes, and is characterized by,
`a set of data (e.g., image data) and a set of operations (e.g.,
`methods), that can operate on the data. Generally, an obj ect’s
`data is ideally changed only through the operation of the
`object’s methods. Methods in an object are invoked by
`passing a message to the object (e.g., message passing). The
`message specifies a method name and an argument list.
`When the object receives the message, code associated with
`the named method is executed with the formal parameters of
`the method bound to the corresponding values in the argu-
`ment list. Methods and message passing in OOP are analo-
`gous to procedures and procedure calls in procedure-
`oriented software environments.
`
`However, while procedures operate to modify and return
`passed parameters, methods operate to modify the internal
`state of the associated objects (by modifying the data
`contained therein). The combination of data and methods in
`objects is called encapsulation. Encapsulation provides for
`the state of an object to only be changed by well-defined
`methods associated with the object. When the behavior of an
`object
`is confined to such well-defined locations and
`interfaces, changes (e.g., code modifications) in the object
`will have minimal impact on the other objects and elements
`in the system.
`
`Page 00009
`
`Page 00009
`
`
`
`US 6,353,398 B1
`
`7
`Each object is an instance of some class. A class includes
`a set of data attributes plus a set of allowable operations
`(e.g., methods) on the data attributes. As mentioned above,
`OOP supports inheritance—a class (called a subclass) may
`be derived from another class (called a base class, parent
`class, etc.), where the subclass inherits the data attributes
`and methods of the base class. The subclass may specialize
`the base class by adding code which overrides the data
`and/or methods of the base class, or which adds new data
`attributes and methods. Thus,
`inheritance represents a
`mechanism by which abstractions are made increasingly
`concrete as subclasses are created for greater levels of
`specialization.
`The use of object oriented programming provides for a
`framework approach to object based application develop-
`ment. The present invention employs abstract classes, which
`are designs of sets of objects that collaborate to carry out a
`set of responsibilities. Frameworks are essentially groups of
`interconnected objects and classes that provide a prefabri-
`cated structure for a working application.
`Accordingly, a user interface framework in accordance
`with the present invention may provide the support and
`default behavior of user display windows, tool bars, com-
`mand bars, etc. By basing the framework on object oriented
`technology, the behavior can be inherited and oven ridden to
`allow developers to extend the framework and create cus-
`tomized solutions in the push technology arena. As a result,
`significant advantages are achieved over employing conven-
`tional programming techniques used in the image analysis
`area since a programmer is not required to change original
`code but rather to extend from existing code. Moreover, the
`developers no longer have to work blindly through layers of
`code because the framework provides architectural guidance
`and modeling and also frees the programmers to supply
`specific actions unique to the image analysis problem
`domain.
`
`According to an exemplary embodiment of the present
`invention, Java is employed to carry out the present inven-
`tion. Java is an object-oriented, distributed, secure, archi-
`tecture neutral language. Java provides for object-oriented
`design which facilitates the clean definition of interfaces and
`makes it possible to provide reusable “software ICs.” Java
`has an extensive library of routines for copying easily with
`TCP/IP protocols like HTTP and FTP. Java applications can
`open and access objects across a network via URLs with the
`same ease to which programmers are accustomed to access-
`ing a local file system.
`Furthermore, Java utilizes “references” in place of a
`pointer model and so eliminates the possibility of overwrit-
`ing memory and corrupting data. Instead of pointer arith-
`metic that is employed in many conventional systems, the
`Java “virtual machine” mediates access to Java objects
`(attributes and methods) in a type-safe way. In addition, it is
`not possible to turn an arbitrary integer into a reference by
`casting (as would be the case in C and C++ programs). In so
`doing, Java enables the construction of virus-free, tamper-
`free systems. The changes to the semantics of references
`make it virtually impossible for applications to forge access
`to data structures or to access private data in objects that they
`do not have access to. As a result, most activities of viruses
`are precluded from corrupting a Java system.
`Java affords for the support of applications on networks.
`Networks are composed of a variety of systems with a
`variety of CPU and operating system architectures. To
`enable a Java application to execute anywhere on the
`network, a compiler generates an architecture neutral object
`file format—the compiled code is executable on many
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`processors, given the presence of the Java runtime system.
`Thus, Java is useful not only for networks but also for single
`system software distribution. In the present personal com-
`puter market, application writers have to produce versions of
`their applications that are compatible with the IBM PC and
`with the Apple Macintosh. However, with Java, the same
`version of the application runs on all platforms. The Java
`compiler accomplishes this by generating bytecode instruc-
`tions which have nothing to do with a particular computer
`architecture. Rather, they are designed to be both easy to
`interpret on any machine and easily translated into native
`machine code on the fly.
`Being architecture neutral, the “implementation depen-
`dent” aspects of the system are reduced or eliminated. The
`Java virtual machine (VM) can execute Java bytecodes
`directly on any machine to which the VM has been ported.
`Since linking is a more incremental and lightweight process,
`the development process can be much more rapid and
`exploratory. As part of the bytecode stream, more compile-
`time information is carried over and available at runtime.
`Thus, the use of Java in the present invention provides a
`server to send region-specific and related information pro-
`grams over the network as easily as traditional servers send
`data. These programs can display and manipulate data, such
`as related advertising information on a client computer. The
`present invention through the use of Java supports execution
`on multiple platforms. That is the same programs can be run
`on substantially all computers—the same Java program can
`work on a Macintosh, a Windows 95 machine, a Sun
`workstation, etc. It should be appreciated, however, that a
`Java stand-alone application may be constructed to achieve
`a substantially equivalent result. Although the present inven-
`tion is described with respect to employing Java, it will be
`appreciated that any suitable programming language may be
`employed to carry out the present invention.
`The present invention instantiates Java client classes by
`name at run time to implement client interfaces to changing
`server components. That is the present invention integrates
`the Java programming to communicate with services dis-
`tributed on various computers (e.g., mobile and stationary)
`on the intranet
`through the use of distributed object
`technology, which is discussed in greater detail below.
`Using this technology, a related task can be performed by
`the computer most optimally suited for it, and these deci-
`sions can be made dynamically. For example, if a given
`computer that provides a service is busy or down, the system
`will find an alternate source for that service, and provide it
`to the client immediately. The combination of Java-based
`client software and distributed object based services leads to
`a client/server system that facilitates push technology sub-
`stantially.
`Most current and past object oriented programming
`(OOP) systems are restricted to utilizing and making calls to
`objects within the same address space as the process utiliz-
`ing or calling the objects. That is, a process cannot typically
`access objects located within other processes including
`where those other processes are located on the same or
`different host computers. However, distributed OOP systems
`allow processes to access objects located in remote address
`spaces located in the same or other host systems. Astandard
`for such distributed OOP systems currently exists called
`Common Object Request Broker Architecture (CORBA)
`and is described in The Common Object Request Broker:
`Architecture and Specification, published by the Object
`Management Group (OMG), which is hereby incorporated
`by reference. This architecture allows a process to make
`calls to objects in other address spaces typically by con-
`structing the necessary communication paths during com-
`pilation.
`
`Page 00010
`
`Page 00010
`
`
`
`US 6,353,398 B1
`
`9
`In simple items, CORBA allows applications to interact
`and communicate closely at a higher level of abstraction
`than merely sending packets of data back and forth. Appli-
`cations in a heterogeneous computing environment can
`interact without worries of how the two different machines
`
`and operating systems can interface. Thus, CORBA specifies
`a system which provides interoperability between objects in
`a heterogeneous distributed environment and in a way
`transparent to the programmer. It is to be appreciated that
`CORBA is but one way of communicating with distributed
`objects. For example, a DCOM (Distributed Component
`Object Model) developed by Microsoft may be employed to
`accomplish the same task.
`What has been described above are prefer led embodi-
`ments of the present invention. It is, of course, not possible
`to describe every conceivable combination of components or
`methodologies for purposes of describing the present
`invention, but one of ordinary skill in the art will recognize
`that many further combinations and permutations of the
`present
`invention are possible. Accordingly,
`the present
`invention is intended to embrace all such alterations, modi-
`fications and variations that fall within the spirit and scope
`of the appended claims.
`What is claimed is:
`
`1. A system for directing region-specific information;
`comprising:
`a system for locating and transmitting information to
`location-specific users; and
`a directed information system for linking information
`related to the location specific users, the directed infor-
`mation system having access to a regionally defined
`data base for directing region-specific information to
`location-specific users, and employing push technology
`to push information to the location-specific users.
`2. The system of claim 1 wherein a GPS is employed to
`locate users and to transmit information.
`
`3. The system of claim 1 wherein queries are made of the
`directed information system.
`4. The system of claim 1 employing object oriented
`technology.
`5. The system of claim 1 including display and audio
`systems for receiving information from the directed infor-
`mation system.
`6. The system of claim 1 wherein the directed information
`system links to



