throbber
US 6,327,535 B1
`
`1
`LOCATION BEACONING METHODS AND
`SYSTEMS
`
`TECHNICAL FIELD
`
`This invention relates to generally to the area of context-
`aware computing or ubiquitous computing.
`BACKGROUND
`
`The World Wide Web (WWW) was created to make
`content available from any source in any location around the
`world. Users of the Web are able to generally access a
`seemingly infinite number of resources via the Web. The
`Web hasbeen highly successful in this regard. Yet, with the
`evolution of the Web, certain needs remain largely unmet.
`Specifically, people continue to have a need to access
`information that has a contextual aspect to it. That is, often
`times,
`individuals will
`find themselves in a computing
`environment that carries with it a certain context. Yet, the
`context of the environment cannot be easily incorporated
`into the present computing cnvironment. As an cxample,
`consider the context of location. People generally have a 4,
`need to access information, data, resources andthelike, that
`have geographic dimensions to them. For example, indi-
`viduals maydesire to take advantage of services or products
`that are close in proximity to where they currently are
`located. In this regard,
`it is desirable to understand the
`individual’s contextual location so that services, goods and
`the like can be made available to the individual. As “eCom-
`
`merce” continues to grow in importance, the necessity of
`bringing people, places, services and goods together in an
`efficient manner will becomecritically important.
`To date, many attempts have been madeto bring people,
`places, services and goods together. These various attempts
`have generally approached the problem from different direc-
`tions in an often times incompatible manner. As an example,
`consider the context of location. Some services have
`
`attempted to bring people and services together by defining
`large databases that maintain information aboutthe services.
`For example, a list of restaurants may be maintained in a
`webaccessible database where each restaurant is associated
`
`with a zip code in which the restaurant is located. When a
`user desires to locate a particular restaurant,
`they might
`simply enter the zip code where they are located to see a list
`of corresponding restaurants in that zip code. From the list
`of restaurants,
`they might be able to select one or two
`restaurants of interest. This approach is undesirable for a
`number of reasons. First, the operation of the system is
`dependent upon a central server that
`is responsible for
`receiving user queries and executing the queries to return the
`information to the user. In the event the server fails, so too
`does the service. In addition, this particular service might be
`suited to finding restaurants, but possibly not other busi-
`nesses. In addition, the granularity with which the results are
`returned to the user may foist some of the search burden on
`the user (Le. the user getsa list of restaurants in a nearby zip
`code, but has to further explore the list to select which ones
`are of interest). Further, the list of restaurants may include
`somerestaurants that are blocked by sometype of a physical
`barrier (ic. a river, mountain, etc.) that makes the distance,
`as the crow flies, unroutable.
`Providers of services and products want to be connected
`to nearby end-users. End-users want
`to consume these
`services and goods at
`the closest and most convenient
`location. Acquiring the services of a dentist or a plumberthat
`lives somewhere “out on the net” is not appropriate if you
`need themto fill a cavity or unclog a sink. Looking for the
`nearest hotdog while in a stadium requires you to stay in the
`stadium.
`
`30
`
`35
`
`40
`
`45
`
`55
`
`60
`
`65
`
`2
`There is an unsolved need to be able to create context-
`aware computing in which computing devices can partici-
`pate in their particular context. In specific circumstances,
`there are needs to provide relational position awareness
`amongphysical locations in both public and private views of
`the world. To date, however, there is no one standardized
`viewof the world that would unlock the potential of context-
`aware computing. Context-aware computing is much more
`than just position awareness—although this is a very big
`field in and ofitself.
`This invention arose out of concerns associated with
`developing a standardized, context-aware infrastructure and
`related systems to unlock the potential of context-aware
`computing.
`
`SUMMARY
`
`Context aware computing systems and methods are
`described. In the described embodiment, one or morehier-
`archical tree structures are defined that uniquely identify
`geographical divisions of the Earth and/or physical or logi-
`cal entities. Each tree has multiple nodes and at least one
`node from each tree is linked. Goods and services can be
`associated with individual nodes on the tree,
`the nodes
`providing a universal reference when attempting to locate or
`consume the goodsorservices.
`In one embodiment, a computing device (such as a
`stationary or mobile computing device) has access to one or
`more of the tree structures and can utilize the tree structures
`to ascertain its current context. The device determines its
`context by traversing one or more of the tree structures to
`ascertain information that is associated with the individual
`
`nodes of the tree structure. In a particular embodiment, the
`context is the device location and the device is capable of
`autonomously determining its location within a Master
`World and one or more Secondary worlds. Once the com-
`puting device has determined its location, it can then take
`part in location-dependent scenarios.
`In one embodiment a Master World is defined and is a
`
`tree structure that represents a universally
`hierarchical
`acceptable description of the world. One or more Secondary
`Worlds can be defined and constitute company- or
`organization- specific views of the world that link with the
`Master World. A Secondary World can describe the location
`tree of an organization.
`In one embodiment, a device architecture includes a
`commoninterface, a location service module, a plurality of
`location providers, and an application program interface
`(API)or events layer. Various location providers can call the
`common interface with location information that is pro-
`cessed by the location service module to ascertain the
`device’s current location. The location providers provide
`hints about
`the current location and the location service
`module turns the hints into a nodal location on one or more
`of the hierarchicaltree structures. The location service then
`traverses one or more of the tree structures to ascertain a
`complete device location. Various applications can call the
`APIlayer to ascertain location information fromthe location
`service module. By knowing where a device is located
`within a hierarchical structure, the applications can present
`location-dependent goods or services to the user. Thus, a
`user is able to actively participate in their current computing
`environment.
`
`In other embodiments,the location service moduleis able
`to determine,
`to a degree of certainty, the location of the
`device. It does so through the use of confidence and accu-
`racy parameters that are assigned to the information that is
`
`APPLE
`APPLE
`EXHIBIT 1006 - PAGE 0011
`EXHIBIT 1006 - PAGE 0011
`
`

`

`US 6,327,535 B1
`
`3
`provided by the location providers. Additionally, a trust
`parameter can be assigned by the location service module to
`the location providers and provides a measure of the trust
`that is associated with a particular location provider. The
`location service module can then considerall of the param-
`eters in deciding which location information to use and how
`to use it in determining a device location.
`In another embodiment, privacy issues are addressed by a
`privacy managerthat functions to modulate the information
`that is provided to the various applications as a function of
`the applications’
`identities and security policies on the
`device.
`
`In yet another embodiment, a unique beacon provider is
`described. A beacon can be located in various places and
`transmits context information that (in the case of location
`information) can be directly used to ascertain the device’s
`location relative to a tree structure node. This provides direct
`information about the device’s location within the defined
`hierarchical infrastructure.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram of an exemplary computing device
`that can be used in accordance with the described embodi-
`ments.
`
`FIG. 2 is a conceptual diagram of an exemplary Master
`World and an exemplary Secondary World in accordance
`with the described embodiment.
`
`FIG. 3 is an exemplary specific view of a Master World
`and a Secondary World andtheir relation to one another.
`FIG. 4 is a flow diagram that describes steps in a method
`in accordance with the described embodiment.
`
`FIG. 5 is a flow diagram that describes steps in a method
`in accordance with the described embodiment.
`
`FIG. 6 is a high level diagram of an exemplary computing
`device architecture.
`
`FIG. 7 is a somewhat more specific view of an exemplary
`computing device architecture.
`FIG. 8 is a flow diagram that describes steps in a method
`in accordance with the described embodiment.
`
`FIG. 9 is a flow diagram that describes steps in a method
`in accordance with the described embodiment.
`
`FIG. 10 is a flow diagram that describes steps in a method
`in accordance with the described embodiment.
`
`FIG. 11 is a side elevational view of an exemplary
`location beacon in accordance with one embodiment.
`
`DETAILED DESCRIPTION
`
`Overview
`
`To provide a standardized solution, embodiments
`described just below provide a uniform definition of the
`world. The uniform definition is defined in terms of a
`
`hierarchical tree of nodes, where each node represents some
`aspect of the world. Each node is connected to at least one
`other node by a branch. An exemplaryclassification of nodes
`takes place on a physical level (e.g. physical locations such
`as political entities, infrastructure entities and public places),
`as well as a non-physical level (e.g. military APOs). This
`hierarchical nodal structure is referred to as the Master
`World, and is a standardized view worldwide. Each node of
`the Master World has various attributes associated with it
`that assist in context-aware computing. Exemplary attributes
`toclude a unique ID, name, geographic entity class, latitude/
`longitude, relative importance, contextual parents to name
`just a few. The Master World is useful becauseit can be used
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`to determinethe relative location of a place anywhere in the
`world and at any definable granularity.
`Once an individual’s location or a place an individual is
`interested in is determined, various services that reference
`the location can be offered to the individual based on their
`location. That is, value is provided by the Master World
`model in the ability to tie services to nodal locations in the
`Master World.
`
`two additional concepts add
`Building on this concept,
`value—the concept of so-called Secondary Worlds and a
`“geozone.”
`A Secondary World is a powerful computing mechanism
`whereby individual entities (such as businesses or
`organizations) can define their own particular worlds that
`need not necessarily conform to the Master World view of
`the world. That is, while the Master World is essentially a
`physical hierarchical representation of the world, the Sec-
`ondary Worlds can be physical and/or logical representa-
`tions of each individual entities’ world view. One particu-
`larly useful aspect of the Secondary World is that it links,at
`at least one point, into the Master World. Thus, within any
`Secondary World, a user’s location not only within the
`Secondary World, but the Master World as well can be
`determined. Various services can be attached to the nodes of
`
`the Secondary World. Based upon a user’s calculated
`position,
`these various services that are associated with
`Secondary World nodes can be offered to the user.
`In
`addition, because the user’s context is determined relative to
`the Master World, other services that may not be associated
`with a particular Secondary World can be offered.
`A geozoneis essentially a spatial indexing mechanism by
`which the Master World is subdivided into individual zones.
`In the described embodiment,
`the zones are subdivided
`through the use of a quadtree algorithm that is dependent on
`a density function (although many other spatial
`index
`approaches can also be used). Once a desired density level
`is achieved (density might be defined in terms of points of
`interest per zone), each node on the Master World is
`assigned a particular geozone. Geozones enable proximity
`calculations to be computed in a fast and straight forward
`manner.
`
`A useful aspect of the Master and Secondary Worlds are
`that they are “reachable” from various computing devices
`such as stationary (i.e. desktop devices) or mobile comput-
`ing devices(i.e. cell phones,laptops etc.). Thatis, the Master
`World (orat least a portion ofit) and one or more Secondary
`Worlds can be either locally maintained on the computing
`device, or accessed, e.g. via the Web or some other
`mechanism, so that a user can derive their context. For
`example, the Secondary World can be downloaded onto the
`computing device so that a user can derive their context
`within the Secondary World. Once a user’s context
`is
`determined from the Master World and one or more Sec-
`
`ondary Worlds, a various robust collection of context-aware
`solutions becomeavailable to the user. For example, specific
`Secondary World services can be offered or Master World
`services can be offered. Additionally, services from other
`Secondary Worlds might also be offered since the user’s
`location may be known (or made known) to these other
`Secondary Worlds. In this way, the Master World can link
`two or more Secondary Worlds together.
`Anotheraspectis that the described embodiments harness
`the computing power of each computing device in deter-
`mining the device’s location. Here, by virtue of having the
`Master World and one or more Secondary Worlds reachable
`by the device (and possibly locally maintained on the
`device), the device itself determines its own context.
`
`APPLE
`APPLE
`EXHIBIT 1006 - PAGE 0012
`EXHIBIT 1006 - PAGE 0012
`
`

`

`US 6,327,535 B1
`
`5
`One embodiment provides a client side device that is
`configured to utilize the context-aware structures that are
`discussed above,i.e. the Master and one or more Secondary
`Worlds. The Master World or a portion thereof can be locally
`available on the device or can be accessible at another
`location, e.g. via the Web. In this embodiment, the client
`device has a location service embodied thereon. The
`described location service is a software module that can
`determine the location of the device and can answer queries
`from various applications (either executing on the device or
`off the device). The location service determines the location
`of the device by using the Master World and one or more
`Secondary Worlds. The applications query the location ser-
`vice through one or more Application Program Interfaces
`(APIs) or Events to get location information that is used by
`the applications to render a service.
`The location service makes use of one or more location
`providers that convey information to the device. This infor-
`mation can be information that is specific to the location
`provider, or can be information that can be mappeddirectly
`into a node of the Master World or Secondary Worlds.
`Exemplary location providers can include Global Position-
`ing Service (GPS) providers, cell phone providers (cell
`providers), Bluetooth providers, a user interface provider
`andthelike. ‘The location providers provide informationthat
`gives some aspect of a device’s current
`location. This
`information is used by the location service to ascertain the
`location of the device.
`
`Oneparticularly advantageousfeature of the client device
`is a standard or common location provider interface. The
`location provider interface enables the various location
`providers to provide information to the location service so
`that the location service can use the information to deter-
`mineits location. Essentially, the multiple location provider
`toterface is a commoninterface that enables multiple dif-
`ferent location providers to provide location information (or
`hints) aboutlocation to a location service that is on a device.
`The location providers can provide the location information
`constantly, at intervals, or when polled by the device. The
`location information can be provided with confidence and
`accuracy estimates to enable the location service to evaluate
`the relative quality of the information before it is used. The
`various providers also have the ability to self-monitor them-
`selves which assists in the providers’ ability to intelligently
`convey information to the location service. By having a
`common interface,
`the collection of location providers is
`dynamically extensible—that is location providers can be
`added or removed from the collection of location providers
`without any interference of the functionality performed by
`the location service or device. The location providers can be
`added or removed while the device is operating. This is
`particularly useful in accommodating location providers that
`are developed in the future. In this particular embodiment,
`two levels of abstraction are provided i.c. (1) the provider
`interface that receives information from the location pro-
`viders and (2) the API/events layer that enables applications
`to get at the various information.
`Onefocus of this embodimentis a device that can collect
`context information (e.g. location information) from a vari-
`ety of different sources, determine the device’s current
`context from that
`information, and provide the current
`context at some level to one or more applications that can
`use the device’s context to render a service or enable the
`device to participate in its context environment.
`In the described embodiment, the device receives location
`information or hints aboutits location. This information is
`
`collated and mapped bythe location service into a node in
`
`6
`the Master World and/or Secondary World. The hierarchical
`trees can then be traversed to determine the device’s accu-
`rate location in both the Secondary World and the Master
`World. At this point, the device has determined its context.
`The informationthat is collected can be subject to arbitration
`to ensure that only highly trusted information is used to
`determine context. The location information can be cached
`to provide “current location information” which, for a defin-
`able period of time will be accurate to some degree. Thus,
`if for some reason other location providers are unavailable,
`the cache can be used to ascertain location.
`Once a device’s location is determined, the device can
`apply a security policy to the information. Oncethis is done,
`the device can begin to answer queries from various appli-
`cations.
`
`One aspect of the described embodiment is a “favorite
`locations” aspect in which the device can be automatically
`configured, when it determines its context, so that it can
`adjust to the different locations.
`Further, various types of location providers can convey
`different types of information. For example, a so-called “thin
`provider” provides location information thatis translated by
`the location service into the appropriate node information. A
`so-called “thick provider” includes logic that takcs location
`information and provides it in a form that can map directly
`into the Master World or Secondary World.
`In another embodiment location translation services are
`
`provided that are directed to determining, as accurately as
`possible,
`the context or location of the device.
`In this
`embodiment, information is received from the various loca-
`tion providers. This information includes location, accuracy
`and confidence (all of which are provided by the location
`provider), trust (which is assigned to a location provider by
`the device or a user) and a timestamp (which helps to age the
`location information). The location translation proccssing
`involves determining which of the location providers are
`valid and active. The location providers can be ranked in
`accordance with the confidence andtrust levels. This defines
`
`an ordered list of location providers. Provision is made for
`a situation in which all of the location providers may go
`inactive. If so, a “current location” is used as a location
`provider whose confidence decreases over time.
`In the event that information from two or more of the
`location providers conflicts, then measures can be taken to
`use information for which there is a higherlevel oftrust. The
`information that is provided byall of the location providers
`(assuming no conflict) can then be used to determine a tree
`structure and a node’s entity ID (EID). The tree might be the
`Master World and the EID is a node on the Master World.
`The tree might also be a Secondary World and the EID (or
`location unique indentifier or “LUID”) is a node on the
`Secondary World. Once this information is collected, com-
`plete location information can be determined by simply
`traversing the trec(s). Once a devicce’s location is
`determined, a cache can be updated with the current location
`(including a time stamp).
`In another embodiment, privacy issues in the context-
`aware compuling environment are addressed.
`In this
`embodiment,
`the location service has acquired location
`information that pertains to the location of a particular
`device. A privacy manager determines what level of infor-
`mation to provide to applications that might request the
`information. The privacy manager can reside on the com-
`puting device itself, or can be proxied by a trusted third
`party.
`According to this embodiment, a scale of privacy levels
`are defined. Each level is defined to include more or less
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`APPLE
`APPLE
`EXHIBIT 1006 - PAGE 0013
`EXHIBIT 1006 - PAGE 0013
`
`

`

`US 6,327,535 B1
`
`ze
`the location of a particular
`specific information about
`device. A useris able to assign a privacylevelto entities that
`might request location information. Additionally, each node
`of the Master World and a Secondary World can have a
`privacy level associated with it. When a query from an
`application is received, the privacy managerfirst determines
`who the queryis from and the privacy level associated with
`the application or entity. The privacy managerthen evaluates
`one or more of the Master World and the Secondary World
`to find a node that has a corresponding privacy level. When
`a corresponding nodeis found, informationat that particular
`granularity is provided to the requesting application or
`entity.
`In another embodimentsystems and methodsof providing
`a location provider in the form of a location beacon are
`described.In this embodiment, a location beaconis provided
`that can be mounted in various areas (public/private areas)
`to beacon the location to any computing devices within
`transmission range. The information that
`is transmitted
`enables a device to determine its location or context. The
`
`location beacon can transmit information that is specific to
`the location service that uses the information. Transmitted
`
`information can include an EID/URLpair, and a LUID/URL
`pair. The EID gives the node identification of a node in the
`Master World; and, the associated URL gives a protocol to
`communicate with the Master World. The URL might, for
`instance, link to a server that can provide additional context
`information that uses the EID. The indicates a node on a
`
`Secondary World that correspondsto a current location; and
`the URL gives a protocol to communicate with the Second-
`ary World. For example, the URL can link with a server that
`is hosting the Secondary World. This server can then be
`queried to discover more information about the Secondary
`World (ic. Secondary World tree structure,
`location of
`associated resources, etc.) With the EID and LUID (along
`with the URLs), a device can now traverse the Master World
`or Secondary World to determine its location. Various tech-
`nologies can be used to implementthe beacon (wireless, RF,
`IR). The beacon can be a “program once” device to deter
`tampering. Programmable beacons can, however, be pro-
`vided. Security can also be provided in the form of a
`verifiable signature that is provided with the beacon infor-
`mation to assure the veracity of the transmitted information.
`Auseful context-aware computing aspect of the beacon is
`the concept of “location-enabled access”. Thatis, in addition
`to (or separately from) receiving location information,
`a
`beacon can transmit code download pointers that enable
`smart devices to access software code that allows the device
`
`to participate in its current context.
`Excmplary Computing System
`the term “computing
`In the context of this document,
`device” is used to refer generally to any type of computing
`device. Characteristics of exemplary computing devices are
`that
`they typically include one or more processors,
`computer-readable media (such as storage devices and
`memory), and software executing on the one or more
`processors that cause the processors to implement a pro-
`grammed functionality. In particular embodiments, imple-
`mentation takes place in the context of mobile computing
`devices (e.g. laptop computers and the like), and/or hand-
`held computing devices (e.g. palm PCs, wireless telephones
`and the like).
`FIG. 1 is a schematic diagram that constitutes but one
`example of a computing device that is suitable for use in
`connection with the described embodiments. It
`is to be
`
`understood that portions of the illustrated computing device
`
`10
`
`15
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`can be incorporated in one or more of the computing devices
`(e.g. palm PCs, wireless telephones, etc.) with which par-
`ticular embodiments are envisioned for use.
`
`Computer 130 includes one or more processors or pro-
`cessing units 132, a system memory134,and a bus 136 that
`couples various system components including the system
`memory 134 to processors 132. The bus 136 represents one
`or more of any of several types of busstructures, including
`a memory bus or memorycontroller, a peripheral bus, an
`accelerated graphics port, and a processoror local bus using
`any of a variety of bus architectures. The system memory
`134 includes read only memory (ROM) 138 and random
`access memory (RAM) 140. A basic input/output system
`(BIOS) 142, containing the basic routines that help to
`transfer information between elements within computer 130,
`such as during start-up, is stored in ROM 138.
`Computer 130 further includes a hard disk drive 144 for
`reading from and writing to a hard disk (not shown), a
`magnetic disk drive 146 for reading from and writing to a
`removable magnetic disk 148, and an optical disk drive 150
`for reading from or writing to a removable optical disk 152
`such as a CD ROMorother optical media. The hard disk
`drive 144, magnetic disk drive 146, and optical disk drive
`150 are connected to the bus 136 by an SCSIinterface 154
`or some other appropriate interface. The drives and their
`associated computer-readable media provide nonvolatile
`storage of computer-readable instructions, data structures,
`program modules and other data for computer 130. Although
`the exemplary environment described herein employs a hard
`disk, a removable magnetic disk 148 and a removable
`optical disk 152, it should be appreciated by those skilled in
`the art that other types of computer-readable media which
`can store data that is accessible by a computer, such as
`magnetic cassettes, flash memorycards, digital video disks,
`random access memories (RAMs), read only memories
`(ROMs), and the like, may also be used in the exemplary
`operating environment.
`A numberof program modules maybe stored on the hard
`disk 144, magnetic disk 148, optical disk 152, ROM 138, or
`RAM 140,including an operating system 158, one or more
`application programs 160, other program modules 162, and
`program data 164. A user may enter commandsand infor-
`mation into computer 130 through input devices such as a
`keyboard 166 and a pointing device 168. Other input devices
`(not shown) mayinclude a microphone, joystick, game pad,
`satellite dish, scanner, or the like. These and other input
`devices are connected to the processing unit 132 through an
`interface 170 that is coupled to the bus 136. A monitor 172
`or other type of display device is also connected to the bus
`136 via an interface, such as a video adapter 174. In addition
`to the monitor, personal computers typically include other
`peripheral output devices (not shown) such as speakers and
`printers.
`Computer 130 commonly operates in a networked envi-
`ronment using, logical connections to one or more remote
`computers, such as a remote computer 176.
`‘The remote
`computer 176 may be another personal computer, a server,
`a router, a network PC, a peer device or other common
`network node, and typically includes many or all of the
`elements described aboverelative to computer 130, although
`only a memory storage device 178 has been illustrated in
`FIG. 1. The logical connections depicted in FIG. 1 include
`a local area network (LAN) 180 and a wide area network
`(WAN) 182. Such networking environments are common-
`place in offices, enterprise-wide computer networks,
`intranets, and the Internet.
`Whenused in a LAN networking environment, computer
`130 is connected to the local network 180 through a network
`
`APPLE
`APPLE
`EXHIBIT 1006 - PAGE 0014
`EXHIBIT 1006 - PAGE 0014
`
`

`

`US 6,327,535 B1
`
`9
`interface or adapter 184. When used in a WAN networking
`environment, computer 130 typically includes a modem 186
`or other means for establishing communications over the
`wide area network 182, such as the Internet. The modem
`186, which may be internal or external, is connected to the
`bus 136 via a serial port interface 156. In a networked
`environment, program modules depicted relative to the
`personal computer 130, or portions thereof, may be stored in
`the remote memory storage device. It will be appreciated
`that the network connections shown are exemplary and other
`meansof establishing a communications link between the
`computers may be used.
`Generally, the data processors of computer 130 are pro-
`grammed by means ofinstructions stored at different times
`in the various computer-readable storage media of the com-
`puter. Programs and operating systems are typically
`distributed, for example, on floppy disks or CD-ROMs.
`From there, they are installed or loaded into the secondary
`memory of a computer. At execution, theyare loaded atleast
`partially into the computer’s primary electronic memory.
`The invention described herein includes these and other
`
`various types of computer-readable storage media when
`such media contain instructions or programs for implement-
`ing the steps described below in conjunction with a micro-
`processor or other data processor. The invention also
`includes the computer itself when programmedaccording to
`the methods and techniques described below.
`For purposes of illustration, programs and other execut-
`able program components such as the operating system are
`illustrated herein as discrete blocks, although it is recog-
`nized that such programs and componentsreside at various
`times in different storage components of the computer, and
`are executed by the data processor(s) of the computer.
`Defining the World
`One of the problems to date with attempting to solve the
`context-aware computing problem is that every proposed
`solution has its own approach,data structures, processes and
`the like. There is little if any standardization between the
`various approaches. In the described embodiment, standard-
`ization is achieved at the foundational level by defining a
`universal view of the Earth. That is, a universally acceptable
`definition of the Earth is proposed and is useable in various
`computing scenarios to enable context-dependent comput-
`ing.
`In this document, a specific example of context-
`dependent computing is given in the form of location
`dependent computing. It is to be understood that this con-
`stitutes but one example of a context in which the various
`embodiments discussed below can be employed. Other
`“contexts” can include, any information that can fit into a
`hicrarchical structure including, without limitation, role/
`personnelin an organization, device categorizations, current
`activity, current environment, active devices and the like.
`The Master World
`
`A Master World is defined as a politically correct and
`publicly accepted hierarchical tree structure that catalogs
`physical location or geographic divisions of the Earth. The
`Master World is defined in such a way that many different
`classes of political, administrative and geographic entities
`across the entire Earth are included. Areas

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