[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

US9270770B2 - System and method for optimizing publication of operating states - Google Patents

System and method for optimizing publication of operating states Download PDF

Info

Publication number
US9270770B2
US9270770B2 US11/172,736 US17273605A US9270770B2 US 9270770 B2 US9270770 B2 US 9270770B2 US 17273605 A US17273605 A US 17273605A US 9270770 B2 US9270770 B2 US 9270770B2
Authority
US
United States
Prior art keywords
data session
entity tag
tag value
mobile unit
publication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US11/172,736
Other versions
US20060047822A1 (en
Inventor
Edward Dean Willis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Priority to US11/172,736 priority Critical patent/US9270770B2/en
Assigned to CISCO TECHNOLOGY, INC. reassignment CISCO TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WILLIS, EDWARD DEAN
Publication of US20060047822A1 publication Critical patent/US20060047822A1/en
Application granted granted Critical
Publication of US9270770B2 publication Critical patent/US9270770B2/en
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • H04L67/24
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Definitions

  • This invention relates generally to the field of communications and more specifically to a system and method for optimizing publication of operating states.
  • Presence information may be published to a presence server.
  • Entity tag values identify the data associated with a data session.
  • the presence server includes data session slots that store data associated with a data session's operating state.
  • publication messages related to the data session slot included an old entity tag value in the request and the new operating state.
  • the presence server replaced the stored operating state with the new operating state and returned a new entity tag value associated with the new operating state.
  • the new entity tag value was then used in the next publication message. Therefore, the entity tag value traditionally changed with every new publication of the operating state.
  • An authentication, authorization, and accounting (AAA) server updated the stored entity tag value with each transaction. Therefore, the AAA server kept an entity tag value to identify the data content. If the AAA server was implemented as a redundant cluster, the entity tag value was stored in a persistent storage or communicated across all nodes in a cluster. Storing the entity tag value and/or communicating the entity tag value across all nodes in the cluster is an expensive task.
  • a system and method for optimizing publication of operating states includes sending a first publication message to provide an operating state of a mobile unit.
  • the operating state of the mobile unit is stored in a data session slot associated with the mobile unit.
  • a second publication message is sent to update the operating state of the mobile unit.
  • An entity tag value is derived from identifiers in accounting information of the second publication message to identify data in the data session slot associated with the mobile unit.
  • a technical advantage of one embodiment includes deriving an entity tag with an associated value that identifies a specific instance of data content of a data session. Providing for a derivation of the entity tag value allows for a determination without having to store the entity tag value.
  • Another technical advantage of another embodiment includes reducing the allocation of additional data session slots to store subsequent operating states if the entity tag value identifying the data in a previous state is lost. Operating states may be provided to applications without having to allocate additional data session slots if the entity tag value identifying the data content in a data session slot is lost.
  • FIG. 1 is a block diagram illustrating a communication system that provides operating states of mobile units
  • FIG. 2 is a call-flow diagram illustrating an example of providing the operating state of a mobile unit using an AAA server
  • FIG. 3 is a flowchart illustrating an example of providing the operating state of a mobile unit using an AAA server.
  • FIG. 1 illustrates a communication system 10 that provides operating states of mobile units 100 .
  • System 10 includes a wireless network 12 in which wireless transmissions of mobile unit 100 originate in geographically delimited cells.
  • System 10 also includes a wireline network 14 in which the transmissions of mobile unit 100 are used to determine the operating state of mobile unit 100 .
  • Wireless network 12 includes mobile units 100 that communicate information using a wireless link 102 .
  • Mobile units 100 may be cell phones, data phones, portable data devices, portable computers, handheld devices, handsets, or other suitable devices capable of communicating information over a wireless link 102 .
  • Wireless link 102 may be a radio frequency (RF) link.
  • the wireless link may be based on any suitable technology or standard, such as Code Division Multiple Access (CDMA) 2000 or GSM.
  • CDMA Code Division Multiple Access
  • wireless link 102 comprises a CDMA link based on a CDMA standard.
  • Wireless link 102 communicates the transmissions of mobile unit 100 to base transceiver station (BTS) 104 .
  • BTS base transceiver station
  • BTSs 104 receive information destined for mobile unit 100 and wirelessly communicate the information to mobile unit 100 over wireless link 102 .
  • BTSs 104 each cover a geographic region, or cell 106 , of wireless network 12 and communicate with mobile units 100 in cell 106 .
  • Each BTS 104 may wirelessly communicate with multiple mobile units located within its cell 106 .
  • BTS 104 includes a packet control function (PCF) to manage the sending and receiving of data to and/or from mobile unit 100 .
  • PCFs may be logic encoded in media, microcontrollers, application-specific integrated circuits, state machines, and/or any other type of device for manipulating information in a logical manner.
  • Base station controllers (BSC) 108 connect to BTS 106 and to each other.
  • Wireless network 12 may include several BSCs 108 .
  • BSCs 108 connect to mobile switching center (MSC) 110 .
  • MSCs 108 and MSC 110 provide switch and soft handoff functionality for wireless network 12 .
  • information such as voice, video, audio, text, and/or any other type of information, is routed to and from mobile units 100 and connections are maintained with mobile units 100 as they move throughout wireless network 12 .
  • MSC 110 is also able to perform authentication and set up and disconnect calls for mobile units 100 serviced by BTSs 104 .
  • MSC 110 communicates with a public network 120 .
  • Public network 120 may include any transport network 102 may include any combination of gateways, routers, hubs, switches, access points, base stations, and any other hardware and/or software that may implement any suitable protocol or communication.
  • Wireless network 12 connects to wireline network 14 through a packet data serving node (PDSN) 112 .
  • PDSN 112 includes a router that directs traffic between wireless network 12 and wireline network 14 .
  • Wireline network 14 includes a transport network 114 that connects one or more servers to each other and to PDSN 112 .
  • servers include an AAA server 116 and a presence server 118 .
  • Transport network 114 may include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), any other public or private data network, a local, regional, or global communication network such as the Internet, an enterprise intranet, other suitable wireline communication link, or any combination of the preceding.
  • PSTN public switched telephone network
  • LAN local area network
  • WAN wide area network
  • any other public or private data network such as the Internet
  • local, regional, or global communication network such as the Internet
  • an enterprise intranet other suitable wireline communication link, or any combination of the preceding.
  • AAA server 116 gathers accounting information, planning information, and measurements reflecting the performance of system 10 .
  • Accounting information may refer to information used to assess a cost for the communication session.
  • AAA server 116 may generate accounting records for the data session of mobile unit 100 . The accounting records may be communicated to elements in system 10 through accounting information.
  • AAA server 116 may operate with any suitable protocol.
  • Presence server 118 processes information to determine the state of mobile unit 100 , such as presence information.
  • Presence information may include any suitable information that describes the location of the relevant user, the availability of that user, the reachability of the user, and/or preferred modes of communication for the user for the purposes of communicating with other users. Examples of presence information include, but are not limited to, information indicating whether a user is currently logged into a particular network or component, information identifying a wireless network in which the user is currently located, information indicating whether the user has used a particular component of network 10 within a predetermined time period, information identifying an activity presently scheduled for the user, and information specifying a physical location of the user. Presence server 118 may operate with any suitable protocol.
  • a data session is initiated between mobile unit 100 , BTS 104 , and a serving node.
  • the data session of mobile unit 100 is a wireless session.
  • Establishing a data session may involve allocating RF resources between mobile unit 100 and serving BTS 104 , allocating an IP address to mobile unit 100 , and/or any other appropriate function.
  • AAA server 116 may generate accounting information that includes the operating state of mobile unit 100 .
  • AAA server 116 reports the accounting information to presence server 118 .
  • AAA server 116 may use any suitable protocol to communicate with presence server 118 , such as Session Initiation Protocol (SIP). If SIP is used, AAA server 116 provides the accounting information to presence server 118 using a PUBLISH message.
  • the PUBLISH message may include a data element (an entity tag) with an associated value to identify a specific instance of data content stored in a data session slot of presence server 118 .
  • presence server 118 derives the entity tag value associated with a PUBLISH message.
  • the derivation of the entity tag value occurs when there is no entity tag value or an unrecognized entity tag value is within the PUBLISH message. Therefore, presence server 118 does not need to store the entity tag value or create a new data session slot to store the new operating state of mobile unit 100 if the entity tag value for a PUBLISH message is lost by AAA server 116 .
  • the accounting information includes a session identifier (session-ID) and a correlation identifier (correlation-ID).
  • the session-ID uniquely identifies the data session, and the correlation-ID uniquely identifies the authorization operation granting permission to instantiate the data session.
  • the session-ID and correlation-ID are used to construct the entity tag value.
  • the session-ID and correlation-ID may occur in any suitable representation, such as each identifier represented in the accounting information by strings of up to eight characters in length.
  • the entity tag value may be constructed using any suitable operation, such as concatenating the two strings.
  • system 10 may include any suitable number of elements.
  • one or more functions performed by an element in system 10 may be implemented in whole or in part by other elements.
  • a single server may implement the functions of AAA server 116 and presence server 118 .
  • Any suitable logic comprising software, hardware, other logic, or any suitable combination of the preceding may perform the functions of any component in system 10 .
  • FIG. 2 is a call-flow diagram that illustrates providing the operating state of mobile unit 100 using AAA server 116 .
  • the call-flow diagram may use any suitable signaling protocol such as SIP to exchange messages.
  • Mobile unit 100 requests to establish a data session at message 200 .
  • BSC 108 and MSC 110 pass the start request to PDSN 112 at message 202 .
  • PDSN 112 requests authorization from AAA server 116 to authenticate and authorize the request for a data session at message 204 .
  • AAA server 116 returns a positive authorization to PDSN 112 at message 206 .
  • AAA server 116 may not authorize the request and the call-flow would subsequently terminate.
  • the positive authorization propagates to BSC 108 and MSC 110 at message 208 and to mobile unit 100 at message 210 .
  • BSC 108 and MSC 110 send an airlink active start request to PDSN 112 at message 212 .
  • PDSN 112 sends an accounting start request to AAA server 116 at message 214 .
  • the accounting start request informs AAA server 116 to begin tracking the usage of mobile unit 100 and generating accounting information associated therewith.
  • the accounting information may include the operating state of mobile unit 100 .
  • AAA server 116 acknowledges the accounting start request by sending an ACK to PDSN 112 at message 216 .
  • AAA server 116 sends a PUBLISH message to presence server 118 at message 218 .
  • the PUBLISH message may include any suitable information, including the session-ID, the correlation-ID, and the operating state of mobile unit 100 .
  • the PUBLISH message indicates that mobile unit 100 has an active data session in addition to other relevant information.
  • the first PUBLISH message reporting the operating state of mobile unit 100 creates a new data session slot in presence server 118 that stores the operating state.
  • the data session slot stores the operating state associated with mobile unit 100 for this particular data session in presence server 118 .
  • Presence server 118 Based on the information in the PUBLISH message, presence server 118 generates the entity tag value. Presence server 118 acknowledges the PUBLISH message by sending a 200 OK to AAA server 116 at message 220 .
  • the 200 OK includes an entity tag value identifying the data in the data session slot derived by presence server 118 .
  • the data session of mobile unit 100 is active at instance 222 and persists until termination.
  • mobile unit 100 decides to terminate the data session and sends a termination request to BSC 108 and MSC 110 .
  • BSC 108 and MSC 110 send an airlink active stop request to PDSN 112 at message 226 .
  • PDSN 112 acknowledges the termination at message 228 and BSC 108 and MSC 110 acknowledge the termination at message 230 .
  • the data session ends and is terminated at instance 232 .
  • the termination of the data session causes the operating state of mobile unit 100 to change. Therefore, PDSN 112 sends an accounting stop record to AAA server 116 at message 234 . PDSN 112 acknowledges the accounting stop record at message 236 .
  • AAA server 116 sends a PUBLISH message indicating session termination to presence server 118 at message 238 .
  • the PUBLISH message contains the entity tag value returned in message 220 , which is from presence server 118 when the data session originally started. Presence server 118 tries to match this entity tag value with data in a data session slot. If presence server 118 finds a match, it stores the operating state into the identified data session slot and returns a 200 OK to AAA server 116 at message 240 .
  • AAA server 116 may derive the entity tag value from the session-ID and the correlation-ID. Presence server 118 tries to match the derived entity tag value with data in a data session slot. In yet another embodiment, any suitable client may derive the entity tag value using the derivation techniques as described with respect to AAA server 116 .
  • presence server 118 may deduce the entity tag value using the session-ID and the correlation-ID in the accounting information. The operating state changes are stored in the data session slot corresponding to the entity tag value. By deducing the entity tag value from the session-ID and the correlation-ID, it may not be necessary to send the entity tag value to AAA server 116 .
  • Particular embodiments provide entity tag values that remain invariant to new publications of states, even if the publication is updating the state of the continuing data session. Therefore, the number of persistent storage updates required to synchronize the entity tag values across nodes of a cluster of AAA servers 116 is reduced.
  • Additional AAA servers may be included in system 10 , which requires some communication between AAA server 116 and the additional AAA servers.
  • a mirroring operation may provide entity tag values to the additional AAA servers.
  • the additional AAA servers may deduce the entity tag value without AAA server 116 performing a mirroring operation.
  • messages may be performed in any suitable manner.
  • FIG. 3 is a flowchart illustrating an example of providing the operating state of mobile unit 100 using AAA server 116 .
  • AAA server 116 sends a first publication message to presence server 118 that includes the operating state of mobile unit 100 at step 300 .
  • the state's data content is stored in a data session slot in presence server 118 associated with mobile unit 100 at step 302 .
  • AAA server 116 sends a second publication message to update the operating state of mobile unit 100 at step 304 .
  • An entity tag value is derived to identify the data in the data session slot at step 306 . From the derived entity tag value, the data in the data session slot is determined at step 308 .
  • the operating state's data content from the second publication message is stored at step 310 in the data session slot associated with mobile unit 100 .
  • AAA server 116 may send any suitable number of publication messages to presence server 118 to update the operating state of mobile unit 100 . Additionally, steps may be performed in any suitable manner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A system and method for optimizing publication operating states includes sending a first publication message to provide an operating state of a mobile unit. The operating state of the mobile unit is stored in a data session slot associated with the mobile unit. A second publication message is sent to update the operating state of the mobile unit. An entity tag value is derived from identifiers in accounting information of the second publication message to identify data in the data session slot associated with the mobile unit.

Description

RELATED APPLICATION
This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application Ser. No. 60/521,765 entitled: “Mechanism for Optimization of IS-835 Data Session State using SIP Events,” filed on Jun. 30, 2004 and incorporated by reference herein.
TECHNICAL FIELD OF THE INVENTION
This invention relates generally to the field of communications and more specifically to a system and method for optimizing publication of operating states.
BACKGROUND
Presence information may be published to a presence server. Entity tag values identify the data associated with a data session. The presence server includes data session slots that store data associated with a data session's operating state. Conventionally, publication messages related to the data session slot included an old entity tag value in the request and the new operating state. The presence server replaced the stored operating state with the new operating state and returned a new entity tag value associated with the new operating state. The new entity tag value was then used in the next publication message. Therefore, the entity tag value traditionally changed with every new publication of the operating state. An authentication, authorization, and accounting (AAA) server updated the stored entity tag value with each transaction. Therefore, the AAA server kept an entity tag value to identify the data content. If the AAA server was implemented as a redundant cluster, the entity tag value was stored in a persistent storage or communicated across all nodes in a cluster. Storing the entity tag value and/or communicating the entity tag value across all nodes in the cluster is an expensive task.
If the entity tag value identifying the data content in the data session slot was lost, new data session slots were allocated, which also caused the sequence of operating states to be lost. Allocating additional data session slots required additional storage capacity and composition logic in the presence server to compare the operating states in the different slots and determine what information to report to applications that subscribed to the operating state of the mobile unit. An increased workload consequently occurred on the presence server.
SUMMARY OF THE DISCLOSURE
From the foregoing, it may be appreciated by those skilled in the art that a need has arisen for an improved system and method for publishing operating states. In accordance with the present invention, disadvantages and problems associated with conventional publication of operating states may be reduced or eliminated.
According to one embodiment of the invention, a system and method for optimizing publication of operating states includes sending a first publication message to provide an operating state of a mobile unit. The operating state of the mobile unit is stored in a data session slot associated with the mobile unit. A second publication message is sent to update the operating state of the mobile unit. An entity tag value is derived from identifiers in accounting information of the second publication message to identify data in the data session slot associated with the mobile unit.
Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment includes deriving an entity tag with an associated value that identifies a specific instance of data content of a data session. Providing for a derivation of the entity tag value allows for a determination without having to store the entity tag value.
Another technical advantage of another embodiment includes reducing the allocation of additional data session slots to store subsequent operating states if the entity tag value identifying the data in a previous state is lost. Operating states may be provided to applications without having to allocate additional data session slots if the entity tag value identifying the data content in a data session slot is lost.
Certain embodiments of the invention may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein.
BRIEF DESCRIPTION OF THE DRAWINGS
For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts, in which:
FIG. 1 is a block diagram illustrating a communication system that provides operating states of mobile units;
FIG. 2 is a call-flow diagram illustrating an example of providing the operating state of a mobile unit using an AAA server;
FIG. 3 is a flowchart illustrating an example of providing the operating state of a mobile unit using an AAA server.
DETAILED DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a communication system 10 that provides operating states of mobile units 100. System 10 includes a wireless network 12 in which wireless transmissions of mobile unit 100 originate in geographically delimited cells. System 10 also includes a wireline network 14 in which the transmissions of mobile unit 100 are used to determine the operating state of mobile unit 100.
Wireless network 12 includes mobile units 100 that communicate information using a wireless link 102. Mobile units 100 may be cell phones, data phones, portable data devices, portable computers, handheld devices, handsets, or other suitable devices capable of communicating information over a wireless link 102.
Wireless link 102 may be a radio frequency (RF) link. The wireless link may be based on any suitable technology or standard, such as Code Division Multiple Access (CDMA) 2000 or GSM. In the illustrated embodiment, wireless link 102 comprises a CDMA link based on a CDMA standard. Wireless link 102 communicates the transmissions of mobile unit 100 to base transceiver station (BTS) 104.
BTSs 104 receive information destined for mobile unit 100 and wirelessly communicate the information to mobile unit 100 over wireless link 102. BTSs 104 each cover a geographic region, or cell 106, of wireless network 12 and communicate with mobile units 100 in cell 106. Each BTS 104 may wirelessly communicate with multiple mobile units located within its cell 106. BTS 104 includes a packet control function (PCF) to manage the sending and receiving of data to and/or from mobile unit 100. PCFs may be logic encoded in media, microcontrollers, application-specific integrated circuits, state machines, and/or any other type of device for manipulating information in a logical manner.
Base station controllers (BSC) 108 connect to BTS 106 and to each other. Wireless network 12 may include several BSCs 108. BSCs 108 connect to mobile switching center (MSC) 110. BSCs 108 and MSC 110 provide switch and soft handoff functionality for wireless network 12. In this way, information, such as voice, video, audio, text, and/or any other type of information, is routed to and from mobile units 100 and connections are maintained with mobile units 100 as they move throughout wireless network 12. MSC 110 is also able to perform authentication and set up and disconnect calls for mobile units 100 serviced by BTSs 104. MSC 110 communicates with a public network 120. Public network 120 may include any transport network 102 may include any combination of gateways, routers, hubs, switches, access points, base stations, and any other hardware and/or software that may implement any suitable protocol or communication.
Wireless network 12 connects to wireline network 14 through a packet data serving node (PDSN) 112. PDSN 112 includes a router that directs traffic between wireless network 12 and wireline network 14.
Wireline network 14 includes a transport network 114 that connects one or more servers to each other and to PDSN 112. In the illustrated embodiment, servers include an AAA server 116 and a presence server 118. Transport network 114 may include a public switched telephone network (PSTN), a local area network (LAN), a wide area network (WAN), any other public or private data network, a local, regional, or global communication network such as the Internet, an enterprise intranet, other suitable wireline communication link, or any combination of the preceding.
AAA server 116 gathers accounting information, planning information, and measurements reflecting the performance of system 10. Accounting information may refer to information used to assess a cost for the communication session. AAA server 116 may generate accounting records for the data session of mobile unit 100. The accounting records may be communicated to elements in system 10 through accounting information. AAA server 116 may operate with any suitable protocol.
Presence server 118 processes information to determine the state of mobile unit 100, such as presence information. Presence information may include any suitable information that describes the location of the relevant user, the availability of that user, the reachability of the user, and/or preferred modes of communication for the user for the purposes of communicating with other users. Examples of presence information include, but are not limited to, information indicating whether a user is currently logged into a particular network or component, information identifying a wireless network in which the user is currently located, information indicating whether the user has used a particular component of network 10 within a predetermined time period, information identifying an activity presently scheduled for the user, and information specifying a physical location of the user. Presence server 118 may operate with any suitable protocol.
In operation, when mobile unit 100 desires a data session, which may, for example, be triggered by the initiation of an application at mobile unit 100 and/or the activation of mobile unit 100, a data session is initiated between mobile unit 100, BTS 104, and a serving node. In the illustrated embodiment, the data session of mobile unit 100 is a wireless session. Establishing a data session may involve allocating RF resources between mobile unit 100 and serving BTS 104, allocating an IP address to mobile unit 100, and/or any other appropriate function. While mobile unit 100 is in operation, AAA server 116 may generate accounting information that includes the operating state of mobile unit 100. AAA server 116 reports the accounting information to presence server 118. AAA server 116 may use any suitable protocol to communicate with presence server 118, such as Session Initiation Protocol (SIP). If SIP is used, AAA server 116 provides the accounting information to presence server 118 using a PUBLISH message. The PUBLISH message may include a data element (an entity tag) with an associated value to identify a specific instance of data content stored in a data session slot of presence server 118.
In particular embodiments, presence server 118 derives the entity tag value associated with a PUBLISH message. The derivation of the entity tag value occurs when there is no entity tag value or an unrecognized entity tag value is within the PUBLISH message. Therefore, presence server 118 does not need to store the entity tag value or create a new data session slot to store the new operating state of mobile unit 100 if the entity tag value for a PUBLISH message is lost by AAA server 116.
Data contained in the accounting information may be used to derive the entity tag value. The accounting information includes a session identifier (session-ID) and a correlation identifier (correlation-ID). The session-ID uniquely identifies the data session, and the correlation-ID uniquely identifies the authorization operation granting permission to instantiate the data session. The session-ID and correlation-ID are used to construct the entity tag value. The session-ID and correlation-ID may occur in any suitable representation, such as each identifier represented in the accounting information by strings of up to eight characters in length. The entity tag value may be constructed using any suitable operation, such as concatenating the two strings.
Modifications, additions, or omissions may be made to system 10 without departing from the scope of the invention. For example, system 10 may include any suitable number of elements. Moreover, one or more functions performed by an element in system 10 may be implemented in whole or in part by other elements. For example, a single server may implement the functions of AAA server 116 and presence server 118. Any suitable logic comprising software, hardware, other logic, or any suitable combination of the preceding may perform the functions of any component in system 10.
FIG. 2 is a call-flow diagram that illustrates providing the operating state of mobile unit 100 using AAA server 116. The call-flow diagram may use any suitable signaling protocol such as SIP to exchange messages.
Mobile unit 100 requests to establish a data session at message 200. BSC 108 and MSC 110 pass the start request to PDSN 112 at message 202. PDSN 112 requests authorization from AAA server 116 to authenticate and authorize the request for a data session at message 204. In the illustrated embodiment, AAA server 116 returns a positive authorization to PDSN 112 at message 206. In another embodiment, AAA server 116 may not authorize the request and the call-flow would subsequently terminate. The positive authorization propagates to BSC 108 and MSC 110 at message 208 and to mobile unit 100 at message 210. BSC 108 and MSC 110 send an airlink active start request to PDSN 112 at message 212. PDSN 112 sends an accounting start request to AAA server 116 at message 214. The accounting start request informs AAA server 116 to begin tracking the usage of mobile unit 100 and generating accounting information associated therewith. The accounting information may include the operating state of mobile unit 100. AAA server 116 acknowledges the accounting start request by sending an ACK to PDSN 112 at message 216.
AAA server 116 sends a PUBLISH message to presence server 118 at message 218. The PUBLISH message may include any suitable information, including the session-ID, the correlation-ID, and the operating state of mobile unit 100. In the illustrated embodiment, the PUBLISH message indicates that mobile unit 100 has an active data session in addition to other relevant information. The first PUBLISH message reporting the operating state of mobile unit 100 creates a new data session slot in presence server 118 that stores the operating state. The data session slot stores the operating state associated with mobile unit 100 for this particular data session in presence server 118.
Based on the information in the PUBLISH message, presence server 118 generates the entity tag value. Presence server 118 acknowledges the PUBLISH message by sending a 200OK to AAA server 116 at message 220. The 200OK includes an entity tag value identifying the data in the data session slot derived by presence server 118. The data session of mobile unit 100 is active at instance 222 and persists until termination.
At message 224, mobile unit 100 decides to terminate the data session and sends a termination request to BSC 108 and MSC 110. BSC 108 and MSC 110 send an airlink active stop request to PDSN 112 at message 226. PDSN 112 acknowledges the termination at message 228 and BSC 108 and MSC 110 acknowledge the termination at message 230. The data session ends and is terminated at instance 232.
The termination of the data session causes the operating state of mobile unit 100 to change. Therefore, PDSN 112 sends an accounting stop record to AAA server 116 at message 234. PDSN 112 acknowledges the accounting stop record at message 236. AAA server 116 sends a PUBLISH message indicating session termination to presence server 118 at message 238. In the illustrated embodiment, the PUBLISH message contains the entity tag value returned in message 220, which is from presence server 118 when the data session originally started. Presence server 118 tries to match this entity tag value with data in a data session slot. If presence server 118 finds a match, it stores the operating state into the identified data session slot and returns a 200OK to AAA server 116 at message 240. In another embodiment, if AAA server 116 does not have the entity tag value to identify the data, AAA server 116 may derive the entity tag value from the session-ID and the correlation-ID. Presence server 118 tries to match the derived entity tag value with data in a data session slot. In yet another embodiment, any suitable client may derive the entity tag value using the derivation techniques as described with respect to AAA server 116.
In other embodiments, if presence server 118 fails to match the entity tag value received in the PUBLISH message or if the PUBLISH message does not contain an entity tag value, presence server 118 may deduce the entity tag value using the session-ID and the correlation-ID in the accounting information. The operating state changes are stored in the data session slot corresponding to the entity tag value. By deducing the entity tag value from the session-ID and the correlation-ID, it may not be necessary to send the entity tag value to AAA server 116.
Particular embodiments provide entity tag values that remain invariant to new publications of states, even if the publication is updating the state of the continuing data session. Therefore, the number of persistent storage updates required to synchronize the entity tag values across nodes of a cluster of AAA servers 116 is reduced.
Modifications, additions, or omissions may be made to the call-flow diagram. For example, additional AAA servers may be included in system 10, which requires some communication between AAA server 116 and the additional AAA servers. For example, a mirroring operation may provide entity tag values to the additional AAA servers. As another example, the additional AAA servers may deduce the entity tag value without AAA server 116 performing a mirroring operation. In addition, messages may be performed in any suitable manner.
FIG. 3 is a flowchart illustrating an example of providing the operating state of mobile unit 100 using AAA server 116. AAA server 116 sends a first publication message to presence server 118 that includes the operating state of mobile unit 100 at step 300. The state's data content is stored in a data session slot in presence server 118 associated with mobile unit 100 at step 302. If the operating state of mobile unit 100 changes, AAA server 116 sends a second publication message to update the operating state of mobile unit 100 at step 304. An entity tag value is derived to identify the data in the data session slot at step 306. From the derived entity tag value, the data in the data session slot is determined at step 308. The operating state's data content from the second publication message is stored at step 310 in the data session slot associated with mobile unit 100.
Modifications, additions, or omissions may be made to the flowchart. For example, AAA server 116 may send any suitable number of publication messages to presence server 118 to update the operating state of mobile unit 100. Additionally, steps may be performed in any suitable manner.
While this disclosure has been described in terms of certain embodiments and generally associated methods, alterations and permutations of the embodiment and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the scope and spirit of this disclosure.

Claims (17)

What is claimed is:
1. A method for optimizing publication of operating states, comprising:
receiving, at a presence server, a first publication message from an authorization, and accounting (AAA) server, the first publication message associated with an initiation of a data session by a mobile unit, the first publication message comprising an operating state of a mobile unit;
creating, by the presence server, a data session slot storing the operating state of the mobile unit during the data session, the data session slot identified by a first entity tag value;
sending, by the presence server, the first entity tag value to the AAA server;
receiving from the AAA server a second publication message communicating a session identifier value, a correlation value, a second entity tag value, and an update of the operating state of the mobile unit during the data session, wherein:
the session identifier value comprises a first string of characters uniquely identifying the data session, and
the correlation identifier value comprises a second string of characters uniquely identifying authorization granting permission to instantiate the data session;
determining that the second entity tag value of the second publication message does not match the first entity tag value identifying the data session slot for storing, by the presence server, the operating state of the mobile unit during the data session;
in response to determining that the second entity tag value of the second publication message does not match the first entity tag value, deriving by the presence server, the first entity tag value from the session identifier value and the correlation identifier, wherein deriving the entity tag value comprises performing an operation on the first string of characters and the second string of characters to construct the entity tag value;
using the first entity tag value to identify the data session slot storing the operating state of the mobile unit during the data session; and
storing the update of the operating state of the mobile unit in the data session slot.
2. A system for optimizing publication of operating states, comprising:
one or more first hardware devices operable to store a plurality of messages; and
one or more second hardware devices operable to:
receive, at a presence server, a first publication message from an authentication, authorization, and accounting (AAA) server, the first publication message associated with an initiation of a data session by a mobile unit, the first publication message comprising an operating state of a mobile unit;
create, by the presence server, a data session slot storing the operating state of the mobile unit during the data session, the data session slot identified by a first entity tag value;
send, by the presence server, the first entity tag value to the AAA server; receiving from the AAA server a second publication message communicating a session identifier value, a correlation value, a second entity tag value, and an update of the operating state of the mobile unit during the data session, wherein:
the session identifier value comprises a first string of characters uniquely identifying the data session, and
the correlation identifier value comprises a second string of characters uniquely identifying authorization granting permission to instantiate the data session;
determine that the second entity tag value of the second publication message does match the first entity tag value identifying the data session slot for storing, by the presence server, the operating state of the mobile unit during the data session;
in response to determining that the second entity tag value of the second publication message does not match the first entity tag value, derive, by the presence server, the first entity tag value from the session identifier value and the correlation identifier value, wherein deriving the entity tag value comprises performing an operation on the first string of characters and the second string of characters to construct the entity tag value;
use the first entity tag value to identify the data session slot storing the operating state of the mobile unit during the data session; and
store the update of the operating state of the mobile unit in the data session slot.
3. A non-transitory computer readable medium including logic for optimizing publication of operating states, the logic operable to:
receive, at a presence server, a first publication message from an authentication, authorization, and accounting (AAA) server, the first publication message associated with the initiation of a data session by mobile unit, the first publication message comprising an operating state of a mobile unit;
creating, by the presence server, a data session slot storing the operating state of the mobile unit during the data session, the data session slot identified by a first entity tag value;
sending, by the presence server, the first entity tag value to the AAA server;
receiving from the AAA server a second publication message communicating a session identifier value, a correlation value, a second entity tag value, and an update of the operating state of the mobile unit during the data session, wherein:
the session identifier value comprises a first string of characters uniquely identifying the data session, and
the correlation identifier value comprises a second string of characters uniquely identifying authorization granting permission to instantiate the data session;
determine that the second entity tag value of the second publication message does not match the first entity tag value identifying the data session slot for storing, by the presence server, the operating state of the mobile unit during the data session;
in response to determining that the second entity tag value of the second publication message does not match the first entity tag value, derive, by the presence server, the first entity tag value from the session identifier value and the correlation identifier value, wherein deriving the entity tag value comprises performing an operation on the first string of characters and the second string of characters to construct the entity tag value;
use the first entity tag value to identify the data session slot storing the operating state of the mobile unit during the data session; and
store the update of the operating state of the mobile unit in the data session slot.
4. The method of claim 1, further comprising keeping the derived entity tag value constant over a sequence of publication messages that communicate a plurality of updates of the operating state of the mobile unit.
5. The method of claim 4, further comprising determining the entity tag value to apply to a publication message if results of a sequence of publication messages are not tracked.
6. The method of claim 4, further comprising allowing for a determination of the data session slot by deducing the entity tag value if results of the sequence of publication messages are not tracked.
7. The system of claim 2, further operable to concatenate the session identifier value and the correlation identifier value.
8. The system of claim 2, further operable to keep the derived entity tag value constant over a sequence of publication messages that communicate a plurality of updates of the operating state of the mobile unit during a data session.
9. The system of claim 8, further operable to determine the entity tag value to apply to a publication message if results of a sequence of publication message are not tracked.
10. The system of claim 8, wherein a second AAA server is operable to deduce the entity tag value if results of the sequence of publication messages are not tracked.
11. The computer readable medium of claim 2, the logic operable to derive the entity tag value includes concatenating the session identifier value and the correlation identifier value.
12. The computer readable medium of claim 3, the logic further operable to keep the derived entity tag value constant over a sequence of publication messages that communicate a plurality of updates of the state of the mobile unit.
13. The computer readable medium of claim 12, the logic further operable to determine the entity tag value to apply to a publication message if results of a sequence of publication messages are not tracked.
14. The computer readable medium of claim 12, the logic further operable to allow for a determination of the data session slot by deducing the entity tag value if results of the sequence of publication messages are not tracked.
15. The method of claim 1, wherein the second publication message identifies a termination of the data session by the mobile unit.
16. The system of claim 2, wherein the second publication message identifies a termination of the data session by the mobile unit.
17. The system of claim 3, wherein the second publication message identifies a termination of the data session by the mobile unit.
US11/172,736 2004-06-30 2005-06-30 System and method for optimizing publication of operating states Expired - Fee Related US9270770B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/172,736 US9270770B2 (en) 2004-06-30 2005-06-30 System and method for optimizing publication of operating states

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52176504P 2004-06-30 2004-06-30
US11/172,736 US9270770B2 (en) 2004-06-30 2005-06-30 System and method for optimizing publication of operating states

Publications (2)

Publication Number Publication Date
US20060047822A1 US20060047822A1 (en) 2006-03-02
US9270770B2 true US9270770B2 (en) 2016-02-23

Family

ID=35944751

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/172,736 Expired - Fee Related US9270770B2 (en) 2004-06-30 2005-06-30 System and method for optimizing publication of operating states

Country Status (1)

Country Link
US (1) US9270770B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI20050494A0 (en) * 2005-05-10 2005-05-10 Nokia Corp Provision of a service in a communication system
KR100545874B1 (en) * 2005-06-22 2006-01-25 엔에이치엔(주) Method and system for managing log information of user using location servers belonging to pluality of groups
CN100370732C (en) * 2005-11-04 2008-02-20 华为技术有限公司 Charge metering method and system
DE102006012655B4 (en) 2006-01-10 2008-12-24 Siemens Ag A method of providing quality of service in a WiMAX communication network and method of selecting an access transport resource control function by a policy decision function in a communication network
US20080062943A1 (en) * 2006-09-09 2008-03-13 Jeou-Kai Lin System and method for providing continuous AAA functionality in a IP-based mobile communication network
US9219757B2 (en) * 2006-12-28 2015-12-22 Cable Television Laboratories, Inc. Message correlation

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765196A (en) 1996-02-27 1998-06-09 Sun Microsystems, Inc. System and method for servicing copyback requests in a multiprocessor system with a shared memory
US20030005060A1 (en) 2001-07-02 2003-01-02 Brian Davidson Information system
US20030154293A1 (en) * 2002-02-14 2003-08-14 Zmolek Andrew Charles Presence tracking and name space interconnection techniques
US20040073666A1 (en) * 2002-08-27 2004-04-15 Foster Ward Scott Secure resource access
US20040071150A1 (en) * 2002-07-05 2004-04-15 Anu Honkala Updating presence information
US20040133641A1 (en) * 2003-01-03 2004-07-08 Nortel Networks Limited Distributed services based on presence technology
US20040162032A1 (en) * 2003-02-18 2004-08-19 Peng Li Compression using program tokens
US20040167834A1 (en) * 2003-02-12 2004-08-26 Juha-Pekka Koskinen Method for processing accounting requests in a communications system
US20040243710A1 (en) 2001-08-03 2004-12-02 Xiaolei Mao Method of user data exchange in the data network and a data network
US20050148331A1 (en) * 2004-01-07 2005-07-07 Ixi Mobile (R&D) Ltd. Presence status update system and method in a mobile communication network
US7043538B2 (en) * 2000-07-06 2006-05-09 Nms Communication Corporation Thin instant messaging proxy interface with persistent sessions
US20070088839A1 (en) * 2005-10-19 2007-04-19 Nortel Networks Limited Local time related presence automation and session control
US20070097879A1 (en) * 2003-12-30 2007-05-03 Peter Bleckert Method and communication system for automatically discovering the multimedia service capability
US7310532B2 (en) * 2001-12-05 2007-12-18 Intel Corporation Method of automatically updating presence information
US7472268B2 (en) * 2002-08-12 2008-12-30 Mitel Networks Corporation Privacy and security mechanism for presence systems with tuple spaces

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765196A (en) 1996-02-27 1998-06-09 Sun Microsystems, Inc. System and method for servicing copyback requests in a multiprocessor system with a shared memory
US7043538B2 (en) * 2000-07-06 2006-05-09 Nms Communication Corporation Thin instant messaging proxy interface with persistent sessions
US20030005060A1 (en) 2001-07-02 2003-01-02 Brian Davidson Information system
US20040243710A1 (en) 2001-08-03 2004-12-02 Xiaolei Mao Method of user data exchange in the data network and a data network
US7310532B2 (en) * 2001-12-05 2007-12-18 Intel Corporation Method of automatically updating presence information
US20030154293A1 (en) * 2002-02-14 2003-08-14 Zmolek Andrew Charles Presence tracking and name space interconnection techniques
US20040071150A1 (en) * 2002-07-05 2004-04-15 Anu Honkala Updating presence information
US7472268B2 (en) * 2002-08-12 2008-12-30 Mitel Networks Corporation Privacy and security mechanism for presence systems with tuple spaces
US20040073666A1 (en) * 2002-08-27 2004-04-15 Foster Ward Scott Secure resource access
US20040133641A1 (en) * 2003-01-03 2004-07-08 Nortel Networks Limited Distributed services based on presence technology
US20040167834A1 (en) * 2003-02-12 2004-08-26 Juha-Pekka Koskinen Method for processing accounting requests in a communications system
US20040162032A1 (en) * 2003-02-18 2004-08-19 Peng Li Compression using program tokens
US20070097879A1 (en) * 2003-12-30 2007-05-03 Peter Bleckert Method and communication system for automatically discovering the multimedia service capability
US20050148331A1 (en) * 2004-01-07 2005-07-07 Ixi Mobile (R&D) Ltd. Presence status update system and method in a mobile communication network
US20070088839A1 (en) * 2005-10-19 2007-04-19 Nortel Networks Limited Local time related presence automation and session control

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
© 2004 Open Mobile Alliance Ltd., "Enabler Release Definition for IMPS, Version 1.2," 17 pgs., May 22, 2004.
A. Niemi, "An Event State Publication Extension to the Session Initiation Protocol (SIP)," Internet-Draft, 40 pgs., May 28, 2004.
A.B. Roach, "Session Initiation Protocol (SIP)-Specific Event Notification," Network Working Group, RFC 2543, Internet Engineering Task Force, 38 pgs., Jun. 2002.
M. Day, S. Aggarwal, G. Mohr, and J. Vincent, "Instant Messaging/Presence Protocol Requirements," Network Working Group, RFC 2779, Internet Engineering Task Force, 26 pgs., Feb. 2000.

Also Published As

Publication number Publication date
US20060047822A1 (en) 2006-03-02

Similar Documents

Publication Publication Date Title
CN109379206B (en) Management method of network function information and related equipment
US8103275B2 (en) System and method for identifying a wireless serving node for a mobile unit
JP3754398B2 (en) System and method for managing foreign agent selection in a mobile internet protocol network
EP3939240B1 (en) Deploying network functions in a communication network based on geo-social network data
JP5149899B2 (en) System and method for collapsed subscriber management and call control
US11489769B2 (en) Virtualized radio access network architecture for applications requiring a time sensitive network
US10064096B2 (en) Traffic distribution in heterogenous network environment
KR20210098724A (en) Method and apparatus for providing edge computing service
US20030177174A1 (en) Target resource allocation in an iSCSI network environment
JP2006516845A (en) Control system and method for selecting packet data providing node in mobile internet protocol network
EP3657762B1 (en) Network service system and network service method
US20130044741A1 (en) Redirecting of data traffic between wan and lan
US20040186850A1 (en) Discovery of application server in an IP network
KR20090026785A (en) Optimal load-based wireless session context transfer
US9100856B2 (en) Routing architecture for content in a network
WO2011078912A1 (en) Inter-network profile repository interworking systems and methods
EP3236617A1 (en) Method for an improved processing of network communication between a telecommunications network and at least one user equipment by means of realizing, within the telecommunications network, network functions virtualization, telecommunications network, program and computer program product
JP2013118651A (en) System and method for resolving contention among applications requiring data connection between mobile communication device and wireless network
US11689943B2 (en) Network function redundancy using binding header enhancements
US8254910B1 (en) Network management based on mobility agent binding tables
CN112187495A (en) Communication method and communication system of terminal and server
US9270770B2 (en) System and method for optimizing publication of operating states
Lin et al. An efficient fault-tolerant approach for Mobile IP in wireless systems
CN102740290B (en) Method for pre-authentication and pre-configuration, and system thereof
US12107927B2 (en) Apparatus, method, and computer program

Legal Events

Date Code Title Description
AS Assignment

Owner name: CISCO TECHNOLOGY, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WILLIS, EDWARD DEAN;REEL/FRAME:016910/0242

Effective date: 20050816

ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20240223