← Back to Patent Explorer
US8200248B2 Active / In Force US ⏱️ 4.5 years remaining

System for providing alert-based services to mobile stations in a wireless communications network

Assignee: Smith Micro Software LLC
•
Filing: 2011-05-01
•
Granted: 2012-06-12
•
Expires: 2031-05-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract System for providing alert-based communication services for which corresponding alert conditions to be met by mobile stations are defined. The system includes an alert engine capable of firing alerts associated with the alert-based communication services if location data regarding the mobile stations is indicative of the mobile stations meeting the alert conditions corresponding to the alert-based communication services. A requirements engine is provided for determining an expected earliest future time at which at least one alert condition is capable of being met by a particular mobile station and outputting a data element indicative of a requirement to obtain updated location data about the particular mobile station in advance of the expected earliest future time. Also provided is a scheduler for receiving expiry times data indicative of a plurality of expiry times relating to respective location requests, processing the expiry times data for determining an order for servicing the location requests by positioning determining equipment (PDE) at least in part on a basis on the expiry times of the location requests and an output for interfacing with the PDE, allowing it to service the location requests according to the order determined.

Inventors

  • 👤 Igor V. Ioppe
  • 👤 Tasso Roumeliotis
  • 👤 Scott Allen Hotes
  • 👤 Philip Nathan Klein
  • 👤 Joel A. Susal

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-27 22:37
CPC Classifications
H; H04; H04W; H04W4/00; H04W4/02; H04W4/029; H04W64/00; H04W64/006; H04W8/00; H04W8/02; H04W8/08; H04W8/10; H04W88/00; H04W88/18

Claims Analysis

Total Claims: 68
Claim 1
Independent Claim 92 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) an input for receiving expiry times data indicative of a plurality of expiry times relating to respective location requests; b) a scheduler processing the expiry times data for determining an order for servicing the location requests by the PDE at least in part on a basis on the expiry times of the location requests; and c) an output for interfacing with the PDE allowing the PDE to service the location requests according to the order determined by said scheduler.
Claim 2
Independent Claim 92 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) an input for receiving expiry times data indicative of a plurality of expiry times relating to respective location requests; b) a scheduler processing the expiry times data for determining an order for servicing the location requests by the PDE at least in part on a basis on the expiry times of the location requests; and c) an output for interfacing with the PDE allowing the PDE to service the location requests according to the order determined by said scheduler.
Claim 3
Dependent Claim 36 words
An apparatus as defined in claim 1 , wherein said scheduler includes a storage medium defining a sequence of slots for holding data elements according to the order for servicing the location requests by the PDE.
Claim 4
Dependent Claim 22 words
An apparatus as defined in claim 2 , wherein each data element in said storage medium is associated to a location request.
Claim 5
Dependent Claim 41 words
An apparatus as defined in claim 2 , wherein said scheduler is operative to re-compute the order of the data elements in said storage medium when new expiry times data associated with a new location request is received at said input.
Claim 6
Dependent Claim 43 words
An apparatus as defined in claim 4 , wherein each slot in said sequence of slots corresponds to a point in time at which the position determination equipment is expected to service the location request of a data element stored in the slot.
Claim 7
Dependent Claim 49 words
An apparatus as defined in claim 5 , wherein the re-computation includes for a new location request identifying a slot in said sequence of slots that corresponds to a point in time for servicing the new location request that is within the expiry time of the new location request.
Claim 8
Dependent Claim 43 words
An apparatus as defined in claim 6 , wherein the re-computation includes identifying a slot in said sequence of slots that corresponds to a latest point in time for servicing the new location request, without exceeding the expiry time of the location request.
Claim 9
Dependent Claim 54 words
An apparatus as defined in claim 7 , wherein if the slot that corresponds to the latest point in time for servicing the new location request is vacant, said scheduler is operative for storing a data element associated to the new location request in the slot that corresponds to the latest point in time.
Claim 10
Dependent Claim 100 words
An apparatus as defined in claim 8 , wherein if the slot that corresponds to the latest point in time for servicing the new location request is occupied by a data element associated with a prior location request, then said scheduler is operative for: a) displacing the data element associated with the prior location request to a slot corresponding to an earlier point in time for servicing the prior location request to vacate the slot containing the data element associated with the prior location request; b) inserting the data element associated with the new location request in the vacated slot.
Claim 11
Dependent Claim 19 words
An apparatus as defined in claim 2 , wherein the data elements are arranged according to a search tree.
Claim 12
Dependent Claim 31 words
An apparatus as defined in claim 10 , wherein each data element is associated to a location request and each data element is represented by a node in said search tree.
Claim 13
Dependent Claim 27 words
An apparatus as defined in claim 11 , wherein the nodes of said search tree are ordered according to the expiry times of the respective location requests.
Claim 14
Dependent Claim 31 words
An apparatus as defined in claim 12 , wherein each data element includes a first label containing information about a number of descendants of the node associated with the data element.
Claim 15
Dependent Claim 31 words
An apparatus as defined in claim 13 , wherein each data element includes a second label containing information identifying a time slot at which a location request is to be serviced.
Claim 16
Dependent Claim 41 words
An apparatus as defined in claim 14 , wherein said scheduler is operative to compute an actual time to service a given location request based at least in part on the first and second labels of nodes in said search tree.
Claim 17
Dependent Claim 104 words
A computer readable storage medium including a program element for execution by a processor to implement an apparatus for scheduling servicing of location requests by a PDE, comprising: a) a scheduling module for accepting as input expiry times data indicative of a plurality of expiry times relating to respective location requests for computing an order for servicing the location requests by the PDE at least in part on a basis on the expiry times of the location requests; and b) an output module for interfacing with the PDE allowing the PDE to service the location requests according to the order determined by said scheduler.
Claim 18
Dependent Claim 104 words
A computer readable storage medium including a program element for execution by a processor to implement an apparatus for scheduling servicing of location requests by a PDE, comprising: a) a scheduling module for accepting as input expiry times data indicative of a plurality of expiry times relating to respective location requests for computing an order for servicing the location requests by the PDE at least in part on a basis on the expiry times of the location requests; and b) an output module for interfacing with the PDE allowing the PDE to service the location requests according to the order determined by said scheduler.
Claim 19
Dependent Claim 53 words
A computer readable storage medium as defined in claim 16 , wherein said scheduling module is operative to insert and remove data elements in a storage medium defining a sequence of slots such that the data elements are arranged according to the order for servicing the location requests computed by said scheduling module.
Claim 20
Dependent Claim 21 words
A computer readable storage medium as defined in claim 17 , wherein each data element is associated to a location request.
Claim 21
Dependent Claim 46 words
A computer readable storage medium as defined in claim 18 , wherein said scheduling module is operative to re-compute the order of the data elements in the storage medium when new expiry times data associated with a new location request is received by said scheduling module.
Claim 22
Dependent Claim 44 words
A computer readable storage medium as defined in claim 19 , wherein each slot in the sequence of slots corresponds to a point in time at which the PDE is expected to service the location request of a data element stored in the slot.
Claim 23
Dependent Claim 51 words
A computer readable storage medium as defined in claim 20 , wherein the re-computation includes for a new location request identifying a slot in the sequence of slots that corresponds to a point in time for servicing the new location request that is within the expiry time of the location request.
Claim 24
Dependent Claim 47 words
A computer readable storage medium as defined in claim 21 , wherein the re-computation includes identifying a slot in the sequence of slots that corresponds to a latest point in time for servicing the new location request, without exceeding the expiry time of the new location request.
Claim 25
Dependent Claim 58 words
A computer readable storage medium as defined in claim 21 , wherein if the slot that corresponds to the latest point in time for servicing the new location request is vacant, said scheduling module is operative for storing a data element associated to the new location request in the slot that corresponds to the latest point in time.
Claim 26
Dependent Claim 105 words
A computer readable storage medium as defined in claim 23 , wherein if the slot that corresponds to the latest point in time for servicing the new location request is occupied by a data element associated with a prior location request, then said scheduling module is operative for: a) displacing the data element associated with the prior location request to a slot corresponding to an earlier point in time for servicing the prior location request to vacate the slot containing the data element associated with the prior location request; and b) inserting the data element associated with the new location request in the vacated slot.
Claim 27
Dependent Claim 22 words
A computer readable storage medium as defined in claim 17 , wherein the data elements are arranged according to a search tree.
Claim 28
Dependent Claim 34 words
A computer readable storage medium as defined in claim 25 , wherein each data element is associated to a location request and each data element is represented by a node in said search tree.
Claim 29
Dependent Claim 30 words
A computer readable storage medium as defined in claim 26 , wherein the nodes of said search tree are ordered according to the expiry times of the respective location requests.
Claim 30
Independent Claim 83 words
A method for scheduling servicing of location requests by a PDE, comprising: a) receiving expiry times data indicative of a plurality of expiry times relating to respective location requests; b) processing the expiry times data for determining an order for servicing the location requests by the position determination equipment at least in part on a basis on the expiry times of the location requests; and c) interfacing with the PDE for allowing the PDE to service the location requests according to the determining.
Claim 31
Independent Claim 83 words
A method for scheduling servicing of location requests by a PDE, comprising: a) receiving expiry times data indicative of a plurality of expiry times relating to respective location requests; b) processing the expiry times data for determining an order for servicing the location requests by the position determination equipment at least in part on a basis on the expiry times of the location requests; and c) interfacing with the PDE for allowing the PDE to service the location requests according to the determining.
Claim 32
Independent Claim 103 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) an input for receiving data elements from an entity, the data elements indicative of respective location requests; b) the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; c) a scheduler for determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; and d) an output for interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 33
Independent Claim 103 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) an input for receiving data elements from an entity, the data elements indicative of respective location requests; b) the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; c) a scheduler for determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; and d) an output for interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 34
Dependent Claim 36 words
An apparatus as defined in claim 29 , wherein the determining is such that the servicing of the delayed-type location requests is postponed artificially without exceeding the expiry time data of the respective delayed-type location requests.
Claim 35
Dependent Claim 28 words
An apparatus as defined in claim 29 , wherein said scheduler includes a storage medium defining a sequence of slots for holding data elements according to the determining.
Claim 36
Dependent Claim 22 words
An apparatus as defined in claim 31 , wherein each data element in said storage medium is associated to a location request.
Claim 37
Dependent Claim 41 words
An apparatus as defined in claim 32 , wherein said scheduler is operative to re-compute the order of the data elements in said storage medium when new expiry times data associated with a new location request is received at said input.
Claim 38
Dependent Claim 19 words
An apparatus as defined in claim 30 , wherein the data elements are arranged according to a search tree.
Claim 39
Dependent Claim 31 words
An apparatus as defined in claim 34 , wherein each data element is associated to a location request and each data element is represented by a node in said search tree.
Claim 40
Dependent Claim 27 words
An apparatus as defined in claim 35 , wherein the nodes of said search tree are ordered according to the expiry times of the respective location requests.
Claim 41
Independent Claim 93 words
A method for scheduling servicing of location requests by a PDE, comprising: a) receiving data elements from an entity, the data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; b) determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; and c) interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 42
Independent Claim 93 words
A method for scheduling servicing of location requests by a PDE, comprising: a) receiving data elements from an entity, the data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; b) determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; and c) interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 43
Dependent Claim 36 words
A method as defined in claim 37 , wherein the determining is such that the servicing of the delayed-type location requests is postponed artificially without exceeding the expiry time data of the respective delayed-type location requests.
Claim 44
Dependent Claim 124 words
A computer readable storage medium including a program element for execution by a processor to implement an apparatus for scheduling servicing of location requests by a PDE, comprising: a) a scheduling module for accepting as input data elements from an entity, the data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data, said scheduling module being operative for determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; and b) an output module for interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 45
Dependent Claim 124 words
A computer readable storage medium including a program element for execution by a processor to implement an apparatus for scheduling servicing of location requests by a PDE, comprising: a) a scheduling module for accepting as input data elements from an entity, the data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data, said scheduling module being operative for determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; and b) an output module for interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 46
Dependent Claim 39 words
A computer readable storage medium as defined in claim 39 , wherein the determining is such that the servicing of the delayed-type location requests is postponed artificially without exceeding the expiry time data of the respective delayed-type location requests.
Claim 47
Independent Claim 130 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) an input for receiving a plurality of data elements from an entity, the plurality of data elements indicative of respective location requests; b) the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; c) a scheduler for: i) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; and ii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (i) when to issue the common location query to the PDE; and d) an output for issuing the common location query.
Claim 48
Independent Claim 130 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) an input for receiving a plurality of data elements from an entity, the plurality of data elements indicative of respective location requests; b) the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; c) a scheduler for: i) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; and ii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (i) when to issue the common location query to the PDE; and d) an output for issuing the common location query.
Claim 49
Independent Claim 118 words
A method for scheduling servicing of location requests by a PDE, comprising: i) receiving a plurality of data elements from an entity, the plurality of data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; ii) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; iii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (ii) when to issue the common location query to the PDE; and iv) issuing the common location query.
Claim 50
Independent Claim 118 words
A method for scheduling servicing of location requests by a PDE, comprising: i) receiving a plurality of data elements from an entity, the plurality of data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; ii) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; iii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (ii) when to issue the common location query to the PDE; and iv) issuing the common location query.
Claim 51
Dependent Claim 148 words
A computer readable storage medium including a program element for execution by a processor to implement an apparatus for scheduling servicing of location requests by a PDE, comprising: a) a scheduling module for accepting a plurality of data elements from an entity, the plurality data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data, said scheduling module being operative for: i) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; and ii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (i) when to issue the common location query to the PDE; and b) an output module for issuing the common location query.
Claim 52
Dependent Claim 148 words
A computer readable storage medium including a program element for execution by a processor to implement an apparatus for scheduling servicing of location requests by a PDE, comprising: a) a scheduling module for accepting a plurality of data elements from an entity, the plurality data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data, said scheduling module being operative for: i) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; and ii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (i) when to issue the common location query to the PDE; and b) an output module for issuing the common location query.
Claim 53
Independent Claim 92 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) Input means for receiving expiry times data indicative of a plurality of expiry times relating to respective location requests; b) Scheduler means for processing the expiry times data for determining an order for servicing the location requests by the PDE at least in part on a basis on the expiry times of the location requests; c) output means for interfacing with the PDE allowing the PDE to service the location requests according to the order determined by said scheduler.
Claim 54
Independent Claim 92 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) Input means for receiving expiry times data indicative of a plurality of expiry times relating to respective location requests; b) Scheduler means for processing the expiry times data for determining an order for servicing the location requests by the PDE at least in part on a basis on the expiry times of the location requests; c) output means for interfacing with the PDE allowing the PDE to service the location requests according to the order determined by said scheduler.
Claim 55
Independent Claim 101 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) input means for receiving data elements from an entity, the data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; b) scheduling means for determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; c) output means for interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 56
Independent Claim 101 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) input means for receiving data elements from an entity, the data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; b) scheduling means for determining when location requests are to be serviced, the determining being such that the servicing of at least some delayed-type location requests is postponed artificially; c) output means for interfacing with the PDE allowing the PDE to service the location requests according to the determining.
Claim 57
Independent Claim 129 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) input means for receiving a plurality of data elements from an entity, the plurality of data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; b) scheduling means for: i) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; and ii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (i) when to issue the common location query to the PDE; and c) output means for issuing the common location query.
Claim 58
Independent Claim 129 words
An apparatus for scheduling servicing of location requests by a PDE, comprising: a) input means for receiving a plurality of data elements from an entity, the plurality of data elements indicative of respective location requests, the location requests including delayed-type location requests, a location request data element associated with a delayed-type location request including expiry time data; b) scheduling means for: i) identifying among the delayed-type location requests, two or more delayed-type location requests that can be serviced by a common location query to the PDE; and ii) determining at least in part on the basis of the respective expiry times of the delayed-type location requests identified at (i) when to issue the common location query to the PDE; and c) output means for issuing the common location query.
Claim 59
Dependent Claim 114 words
A memory for storing data for access by an application program being executed on a data processing device used in a communications network adapted to provide alert-based services for which corresponding alert conditions to be met by mobile stations are defined, comprising: a secondary memory for holding a plurality of data structures, the data structures being associated with respective non-overlapping time intervals, each of the data structures containing information relevant to a respective category of alert conditions that requires a current time to be included in the time interval associated with that data structure; and a primary memory for storing the one data structure associated with the time interval that includes the current time.
Claim 60
Dependent Claim 114 words
A memory for storing data for access by an application program being executed on a data processing device used in a communications network adapted to provide alert-based services for which corresponding alert conditions to be met by mobile stations are defined, comprising: a secondary memory for holding a plurality of data structures, the data structures being associated with respective non-overlapping time intervals, each of the data structures containing information relevant to a respective category of alert conditions that requires a current time to be included in the time interval associated with that data structure; and a primary memory for storing the one data structure associated with the time interval that includes the current time.
Claim 61
Independent Claim 112 words
A method of creating a data structure for access by an application program being executed on a data processing device used in a communications network adapted to provide alert-based services for which corresponding alert conditions to be met by mobile stations are defined, each alert condition corresponding to an alert region, comprising: defining a subdivision of the network into nodes; computing, for each node, the nearest alert region; merging together into a single cell for each alert region, those nodes having that alert region as the nearest alert region; and maintaining a data structure that is indicative of the locations covered by each cell and the alert condition associated with that cell.
Claim 62
Independent Claim 112 words
A method of creating a data structure for access by an application program being executed on a data processing device used in a communications network adapted to provide alert-based services for which corresponding alert conditions to be met by mobile stations are defined, each alert condition corresponding to an alert region, comprising: defining a subdivision of the network into nodes; computing, for each node, the nearest alert region; merging together into a single cell for each alert region, those nodes having that alert region as the nearest alert region; and maintaining a data structure that is indicative of the locations covered by each cell and the alert condition associated with that cell.
Claim 63
Dependent Claim 58 words
A method as defined in claim 48 , each alert condition further corresponding to an alert time, the method further comprising maintaining separate data structures for at least two sets of alert conditions corresponding to respective disjoint time blocks, each set of alert conditions including those alert conditions corresponding to alert times contained within the respective time block.
Claim 64
Independent Claim 110 words
A method of delivering an alert-based communications service relevant to a mobile station in a communications network, wherein the alert-based communications service is associated with an alert condition to be satisfied by the mobile station, comprising: obtaining location data about the mobile station for a first time instant; predicting location data about the mobile station for a second time instant after the first time instant based on the location data about the mobile station for the first time instant; and if the mobile station is predicted to be within the alert region at the second time instant, triggering the firing of an alert at or after the second time instant.
Claim 65
Independent Claim 110 words
A method of delivering an alert-based communications service relevant to a mobile station in a communications network, wherein the alert-based communications service is associated with an alert condition to be satisfied by the mobile station, comprising: obtaining location data about the mobile station for a first time instant; predicting location data about the mobile station for a second time instant after the first time instant based on the location data about the mobile station for the first time instant; and if the mobile station is predicted to be within the alert region at the second time instant, triggering the firing of an alert at or after the second time instant.
Claim 66
Dependent Claim 21 words
A method as defined in claim 50 , wherein predicting location data is based on recent information regarding the mobile station.
Claim 67
Dependent Claim 21 words
A method as defined in claim 50 , wherein predicting location data is based on historical information regarding the mobile station.
Claim 68
Dependent Claim 24 words
A method as defined in claim 50 , wherein predicting location data is based on current information regarding other mobile stations in the network.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2015-06-12 2015-12-12 2016-06-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2019-06-12 2019-12-12 2020-06-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2023-06-12 2023-12-12 2024-06-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag