WO2017218017A1 - Method and apparatus for quality of service level assurance in mobile network - Google Patents
Method and apparatus for quality of service level assurance in mobile network Download PDFInfo
- Publication number
- WO2017218017A1 WO2017218017A1 PCT/US2016/038226 US2016038226W WO2017218017A1 WO 2017218017 A1 WO2017218017 A1 WO 2017218017A1 US 2016038226 W US2016038226 W US 2016038226W WO 2017218017 A1 WO2017218017 A1 WO 2017218017A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- company
- information
- user
- data
- destination
- Prior art date
Links
- 238000000034 method Methods 0.000 title abstract description 23
- 230000015654 memory Effects 0.000 claims description 21
- 230000004048 modification Effects 0.000 description 23
- 238000012986 modification Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 11
- 230000003287 optical effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 239000007787 solid Substances 0.000 description 7
- 230000001413 cellular effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 241001465754 Metazoa Species 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 239000002184 metal Substances 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 235000006481 Colocasia esculenta Nutrition 0.000 description 1
- 240000004270 Colocasia esculenta var. antiquorum Species 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/535—Tracking the activity of the user
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
Definitions
- the present disclosure is generally directed to mobile network systems, and more specifically, to quality of service assurance of traffic within a mobile network.
- an ambulance sends electrocardiogram (EKG) data while heading to q hospital, or a security system may send an alert to a monitoring center so that the security company can dispatch staff or alert police.
- EKG electrocardiogram
- a security system may send an alert to a monitoring center so that the security company can dispatch staff or alert police.
- Related art systems may require these types of data to be delivered without loss or delay.
- mobile payment data or enterprise Voice over Long-Term Evolution Network (VoLTE) data may not be as high a priority as the EKG data or the security alert, but should be treated with higher priority than normal web surfing or video streaming.
- these data types may be classified into different service classes (e.g., "mission critical", "premium,” and "best effort").
- EKG data and security alert data may be classified as "mission critical”
- enterprise VoLTE and mobile payment may be classified “premium”
- web surfing and video streaming may be classified as “best effort”.
- the number of classes could also be any number larger than two, and classification might not necessarily be the specific classes described above.
- the priority assigned to data may be based on an assigned class of service defined at the time of contract between a user and a network operator. Further, the priority may be classified based on packet header associated with the data. In some related art systems, an entity may pay (e.g., "a payer") for a specific class of service (e.g., pay to receive higher priority) that they have selected.
- a payer e.g., "a payer”
- a specific class of service e.g., pay to receive higher priority
- the entity paying e.g., the payer
- the specific class of service may not actually be the individual person initiating the actual communication (e.g., the user).
- a company may be a payer and may pay for a specific class of service, but company employees may be the users of the VoLTE service.
- priority is relatively static, leading to the fact that data of less importance may be treated as high priority if it was initiated using high priority service.
- a user may initiate a call via an enterprise VoLTE service, but the call may be a private (e.g., unrelated to work) call and thus be of a lower priority since the private call is not related to work and the company or customer pays for premium service only for work calls.
- a private (e.g., unrelated to work) call e.g., unrelated to work
- Related art implementations may involve mechanisms for providing a method for precedence-based QoS to become a customer configurable parameter on network interfacing premise equipment, such as a Terminal Adapter (TA), a customer gateway or a customer router.
- TA Terminal Adapter
- This related art implementation may allow payers to dynamically adjust the QoS level of voice traffic handling by premise based access equipment from an access perspective as a function of their specific requirements (e.g., on either a call-by-call basis, a time of day basis, or a day of the week basis).
- This related art implementation may involve a mechanism to change the priority based on user's context, but requires the priority be predefined by the user when sending the data over the network.
- An example of such a related art system can be found, for example, at US Patent Application No. 2007/0047527, the contents of which are hereby incorporated by reference in its entirety for all purposes.
- aspects of the present disclosure can include a system configured to communicate with an other system, which facilitates mobile traffic between a source and a destination.
- the mobile operator system may include a processor.
- the processor may be configured to manage access to one or more company databases, on receipt of the mobile traffic from the other system, determine a default priority for the mobile traffic based on packet information, determine user information from the packet information, access company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company, and adjust the default priority of the mobile traffic based on the company information.
- aspects of the present disclosure further include a non-transitory computer readable medium storing instructions for communicating with an other system that facilitates mobile traffic between a source and a destination.
- the instructions may include managing access to one or more company databases, on receipt of the mobile traffic from the other system, determining a default priority for the mobile traffic based on packet information, determining user information from the packet information, accessing company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company, and adjusting default priority of the mobile traffic based on the company information.
- aspects of the present disclosure further include an apparatus for communicating with a system, which facilitates mobile traffic between a source and a destination.
- the apparatus including means for managing access to one or more company databases, on receipt of the mobile traffic from the other system, means for determining a default priority for the mobile traffic based on packet information, means for determining user information from the packet information, means for accessing company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company, and means for adjusting default priority of the mobile traffic based on the company information.
- FIG. 1 illustrates an overall structure of a system in accordance with an example implementation of the present application.
- FIG. 2 illustrates a data structure usable by a system in accordance with an example implementation of the present application.
- FIG. 3 shows a block diagram of a computing environment according to an example implementation of the present application.
- FIG. 4 illustrates a process of the analytic system according to an example implementation of the present application.
- FIGS. 5A and 5B illustrate a data structure usable by a system in accordance with an example implementation of the present application.
- FIG. 6 illustrates a process of the analytic system according to an example implementation of the present application.
- priority may be assigned dynamically based on context associated with the data.
- context may mean "who is generating the traffic or for what purpose the traffic is being generated.”
- the priority may not be predefined at the time the traffic is initiated and may not be obtained from a packet header alone.
- a system may be configured to decide QoS based on calendar information or other information obtained from a company or customer database.
- FIG. 1 illustrates an overall structure of a system in accordance with an example implementation of the present application.
- User 1 105 makes a call through a VoLTE service using a mobile device 110 (e.g., User equipment (UE)) in communication with a base station 115 of a first mobile network 120.
- voice data may go through the first mobile network 120 to connect to the internet 140 (e.g., a web server, ISP, etc.).
- the mobile device 110 may be connected to another mobile device 145 via a base station 135 of a second mobile network 125, either directly or using the same VoLTE service, or traditional phone, or teleconference system 130.
- the mobile device 110 may be a smartphone or any other device which sends or receives data through mobile network, such as smartphone, tablet device, laptop, sensor device, or other IoT devices.
- the network operator makes contract with one or more companies (e.g., company A 155) and company A 155 may pay the costs, while the actual user (e.g., User 1 105) of the service is an individual employee of company A 155.
- Company A 155 may pay extra cost for premium service that may ensure greater reliability of the enterprise service compared to home or other private use.
- the mobile network 120 may be in communication with an analytic system 150 provided by the mobile network operator to monitor traffic to and from customers (e.g., user 1 105 from Company A 155).
- the analytic system 150 may retrieve data from an IT system 160 within Company A 155 to determine for what purpose user 1 105 is making the call.
- the IT system 160 may be a collaboration system which manages an employee's calendar and/or Company A's organization structure and may be useful in assessing the user's purpose in making the call. For example, if user 1 105 has a scheduled meeting with other employees, a call may relate to work and require priority under Company A's agreement with the network operator. Conversely, if user 1 105 has nothing scheduled according Company A's calendar information, the call may likely be private and not require priority under Company A's agreement with the network operator.
- VoLTE service is used in these example implementations, other example implementations may be applied to other network services (e.g., video streaming, web conferencing, messaging, or any other network service) that may be apparent to a person of ordinary skill in the art.
- the system 100 determines that traffic priority can be lowered from "premium" service; other example implementations can have an opposite operation. For example, a default priority might be "best effort," and if the system 100 determines the current traffic should be higher priority, the system 100 can increase the priority (e.g., to "premium” or even "mission critical").
- FIG. 2 illustrates a data structure 200 usable by a system 100 in accordance with an example implementation of the present application.
- Figure 2 illustrates the data structure 200 represented by a series of tables.
- example implementations of the present application could have any other data format other than table format that may be apparent to a person of ordinary skill in the art.
- data structure 200 may be stored in a relational database (RDB) or any other file system or type of storage that may be apparent to a person of ordinary skill in the art.
- RDB relational database
- the data structure 200 includes a traffic data table 205 that contains subscriber identification data 210 and corresponding service identification data 215.
- the traffic data in table 205 may originate from an end-user (e.g., user 1 105 of FIG. 1).
- the subscriber identification data 210 can be International Mobile Subscriber Identity (IMSI) or any other data or other value that might identify who the user is.
- the service identification data 215 may be an Access Point Name (APN) or any other value that be used be used to identify a service associated with the traffic.
- API Access Point Name
- Mobile network operator may store two tables 220, 225.
- One table may be a user table 220 and may store the information of each end-user (e.g., user 1 105 of FIG. 1).
- the user table 220 may include a copy of the subscriber identification data 210 (also illustrated on table 205), and corresponding mobile customer identification data 230, user name data 235 and company data 240.
- the system may identify from which end-user traffic originates based on the subscriber identification data 210 in the traffic. For example, using table 220 the mobile customer identification data 230, user name data 235, and company data 240 corresponding to the subscriber identification data 210 may be determined.
- Mobile network operator may also store a services table 225.
- the services table 225 may store a copy of the service identification data 215 and corresponding class of the service data 245.
- a default priority of the traffic may be set based on the class of service data 245 corresponding to the service identification data 215 associated with the traffic, but it may increase or decrease priority based on the context as discussed below.
- databases of data such as a company A calendar data table 250 or directory data table 255 may be maintained for employees with its own user id.
- the company A calendar data table 250 may include company database (DB) user identification data 265 and corresponding schedule data 270 associated with company A.
- the directory data table 255 may include the company DB user identification data 265 and corresponding role data 275.
- multiple company databases may be maintained by different companies as illustrated by the company B calendar data table 260.
- the company B calendar data table 260 may include also company DB user identification data 265 and corresponding schedule data 280 associated with company B.
- the analytic system (e.g., 150 of FIG. 1), which exists as part of mobile operator, may maintain a data matching table 285 that maps between mobile customer identification data 230 illustrated in the user table 220 and company DB user identification data 265 that can be matched to one or more of the company A calendar data table 250, the company B calendar data table 260, or the directory data table 255 to obtain company information.
- the analytic system may also maintain a policy table 290.
- the policy table 290 may include source database data 295, source database content data 297, and priority modification data 299.
- the policy table 290 may maintain how to increase/decrease/maintain or set priority based on company information associated with a user sending traffic.
- the policy table 290 may be maintained or defined by the company (e.g., customer), and each company may define the policies for their traffic.
- company A may want to set high priority (top row of priority modification data 299) always if CEO (corresponding source database data 295 and source database content data 297) makes a call, and also increase priority (middle row of priority modification data 299) if something is scheduled (corresponding rows of source database data 295 and source database content data 297) and decrease if not (bottom row of priority modification data 299 and corresponding rows of source database data 295 and source database content data 297).
- the company or customer may define the policy table and then transmit the policy table to the mobile system operator and the mobile system operator may store the policy table.
- the policy table may be stored on the company or customer's servers and the mobile system operator may retrieve the policy table or data from the policy table via a secure connection.
- the policy table may be defined by an operator at a company and is stored in a database on the company side for transmission to, or retrieval by, the mobile system operator.
- FIG. 3 shows a block diagram of a computing environment 300 according to an example implementation of the present application.
- the system 300 may include a mobile operator associated device 305 and company associated device 307.
- a single company associated device 307 is illustrated.
- other example implementations may include a plurality of company associated devices, each associated with a different company.
- the mobile operator associated device 305 may include two systems: a mobile network system 309, which handles network traffic, and the analytic system 150, which analyzes and monitors the traffic.
- the analytic system 150 may be the analytic system 150 illustrated in FIG. 1 discussed above.
- the mobile network system 309 may include disks or other storage media 313 (e.g., magnetic, optical, solid state storage, and/or organic), one or more processors 315, a memory 319 (e.g., RAM, ROM, and/or the like), and one or more I/O devices 321, any of which can be coupled on a communication mechanism or bus 377 for communicating information.
- disks or other storage media 313 e.g., magnetic, optical, solid state storage, and/or organic
- processors 315 e.g., RAM, ROM, and/or the like
- a memory 319 e.g., RAM, ROM, and/or the like
- I/O devices 321 any of which can be coupled on a communication mechanism or bus 377 for communicating information.
- the mobile network system 309 can be communicatively coupled to input/user interface 349 and output device/interface 351.
- Either one or both of input/user interface 349 and output device/interface 351 can be a wired or wireless interface and can be detachable.
- Input/user interface 349 include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like).
- Output device/interface 351 may include a display, television, monitor, printer, speaker, braille, or the like.
- input/user interface 349 and output device/interface 351 can be embedded with or physically coupled to the mobile network system 309.
- other computer devices may function as or provide the functions of input/user interface 349 and output device/interface 351 for the mobile network system 309.
- Examples of the mobile network system 309 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
- highly mobile devices e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like
- mobile devices e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like
- devices not designed for mobility e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like.
- the mobile network system 309 can be communicatively coupled (e.g., via I/O device 321) to external storage 353 and network 355 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration.
- the mobile network system 309 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
- I/O device 321 can include, but is not limited to, wired and/or wireless interfaces using any communication or I/O protocols or standards (e.g., Ethernet, 802. l lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all of the connected components, devices, and network in computing environment 300.
- Network 355 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
- the mobile network system 309 can use and/or communicate using computer- usable or computer-readable media, including transitory media and non-transitory media.
- Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like.
- Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
- the memory 319 may cache information (e.g., data from the matching table 335 or the policy table 337) stored on the disks 327 of the analytic system 150. In other example implementations, the memory 319 may cache information (e.g., data from calendar data table 250 or the directory data table 255) stored on the disks 341 of the mobile network system company database 339.
- the mobile network system maintains the user table 220 (from FIG. 2) and services table 225 (also from FIG. 2) in its disks 313 and a traffic control module 317 running in the one or more processors 315.
- the analytic system 150 may include disks or other storage media 327 (e.g., magnetic, optical, solid state storage, and/or organic), one or more processors 329, a memory 331 (e.g., RAM, ROM, and/or the like), and one or more I/O devices 333, any of which can be coupled on a communication mechanism or bus 375 for communicating information.
- disks or other storage media 327 e.g., magnetic, optical, solid state storage, and/or organic
- processors 329 e.g., RAM, ROM, and/or the like
- I/O devices 333 any of which can be coupled on a communication mechanism or bus 375 for communicating information.
- the analytic system 150 can be communicatively coupled to input/user interface 357 and output device/interface 359. Either one or both of input/user interface 357 and output device/interface 359 can be a wired or wireless interface and can be detachable.
- Input/user interface 357 include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like).
- Output device/interface 359 may include a display, television, monitor, printer, speaker, braille, or the like.
- input/user interface 357 and output device/interface 359 can be embedded with or physically coupled to the analytic system 150.
- other computer devices may function as or provide the functions of input/user interface 357 and output device/interface 359 for the analytic system 150.
- Examples of the analytic system 150 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
- highly mobile devices e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like
- mobile devices e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like
- devices not designed for mobility e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like.
- the analytic system 150 can be communicatively coupled (e.g., via I/O device 333) to external storage 361 and network 363 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration.
- the analytic system 150 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
- I/O device 333 can include, but is not limited to, wired and/or wireless interfaces using any communication or I O protocols or standards (e.g., Ethernet, 802. l lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all of the connected components, devices, and network in computing environment 300.
- Network 363 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
- the analytic system 150 can use and/or communicate using computer-usable or computer-readable media, including transitory media and non-transitory media.
- Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like.
- Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
- the memory 331 may cache information (e.g., data from the users table 220 or the services table 225) stored on the disks 313 of the mobile network system 309. In other example implementations, the memory 331 may cache information (e.g., data from calendar data table 250 or the directory data table 255) stored on the disks 341 of the mobile network system company database 339.
- the analytic system 150 maintains the matching table 285 (from FIG. 2) and the policy table 290 (also from FIG. 2) in its disks.
- Each company associated device 307 may maintain its own company database 339.
- Each company database 339 may include disks or other storage media 341 (e.g., magnetic, optical, solid state storage, and/or organic), one or more processors 343, a memory 345 (e.g., RAM, ROM, and/or the like), and one or more I/O devices 347, any of which can be coupled on a communication mechanism or bus 373 for communicating information.
- disks or other storage media 341 e.g., magnetic, optical, solid state storage, and/or organic
- processors 343, a memory 345 e.g., RAM, ROM, and/or the like
- I/O devices 347 any of which can be coupled on a communication mechanism or bus 373 for communicating information.
- Each company database 339 can be communicatively coupled to input/user interface 365 and output device/interface 367.
- Either one or both of input/user interface 365 and output device/interface 367 can be a wired or wireless interface and can be detachable.
- Input/user interface 365 include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like).
- Output device/interface 367 may include a display, television, monitor, printer, speaker, braille, or the like.
- input/user interface 365 and output device/interface 367 can be embedded with or physically coupled to the company database 339.
- other computer devices may function as or provide the functions of input/user interface 365 and output device/interface 367 for the company database 339.
- Examples of the company database 339 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
- highly mobile devices e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like
- mobile devices e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like
- devices not designed for mobility e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like.
- the company database 339 can be communicatively coupled (e.g., via I/O device 347) to external storage 369 and network 371 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration.
- the company database 339 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
- I/O device 347 can include, but is not limited to, wired and/or wireless interfaces using any communication or I O protocols or standards (e.g., Ethernet, 802. l lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all of the connected components, devices, and network in computing environment 300.
- Network 371 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
- the company database 339analytic system 150 can use and/or communicate using computer-usable or computer-readable media, including transitory media and non- transitory media.
- Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like.
- Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other nonvolatile storage or memory.
- the memory 345 may cache information (e.g., data from the users table 220 or the services table 225) stored on the disks 313 of the mobile network system 309. In other example implementations, the memory 345 may cache information (e.g., data from the matching table 335 or the policy table 337) stored on the disks 327 of the analytic system 150.
- Each company database 339 may maintain a calendar data table (such as company A data table 250 of FIG. 2), a directory data table or role data table 255 or other company information in it disks.
- FIG. 4 illustrates a process 400 of the analytic system 150 (of FIG. 1) according to an example implementation of the present application. In the process 400, the analytic system 150 (of FIG.
- the analytic system 150 receives packets of traffic data from mobile network system at 405. After the traffic data is received, the analytic system 150 extracts subscriber identification data and service identification data from the received packets of traffic data at 410. The analytic system 150 (of FIG. 1) may then determine a class of service as a default priority for the traffic using services table 225 (of FIG. 2) at 415. The analytic system 150 (of FIG. 1) may also determine a mobile customer identification corresponding to the subscriber identification data using users table 220 (also of FIG. 2) at 415.
- the analytic system 150 determines a company database identification of the user (e.g., user 1 105 of FIG. 1) using the matching table 285 (of FIG. 2) at 420. Based on the company database identification of the user determined at 420, the analytic system may get company information associated with the user from company's database (e.g., schedule data 270 from the company A calendar data table 250 (of FIG. 2) or role data 275 from the directory data table 255 (also of FIG. 2)) at 425.
- company's database e.g., schedule data 270 from the company A calendar data table 250 (of FIG. 2) or role data 275 from the directory data table 255 (also of FIG. 2)
- the analytic system determines how to modify the priority for the traffic using the policy table 290 (of FIG. 2) at 430.
- the analytic system then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 435.
- the priority modification may include maintaining the original priority without any modification at 435.
- the analytic system may then send instructions to the mobile network system, which then uses the received instructions to control priority for traffic 440.
- the received instructions may include instructions to handle error messages based on the adjusted priority.
- any other techniques for controlling traffic priority that may be apparent to a person of ordinary skill in the art may be used.
- the analytic system 150 may receive traffic data with subscriber identification 12345678901 and service identification voltel23 at 2:00pm. Using service table 225, the analytic system 150 determines the class of service associated with the service identification voltel23 is premium. Using users table 220, the analytic system 150 may determine that subscriber 12345678901 is A-123- Taro in company A, and then using matching table 285, the analytic system 150 determines that the corresponding company database user identification is ytaro.
- the analytic system 150 determines the user is the Chief Executive Officer (CEO) of the customer or company and has a scheduled call at 2:00pm based on the directory data table 255 and the company A calendar data table 250. Based on the policy table 290 the priority may be set as high since the user is the CEO and thus always set as high.
- CEO Chief Executive Officer
- some example implementations may vary the amount of information that is shared with the mobile operator. For example, to minimize the amount of information shared a company may only disclose whether something is on the schedule or not (e.g., busy or free). If the schedule indicates busy, the call may be presumed work and thus be treated as high priority. Not free, the call is treated as lower priority since it might be private call. However, such a system might have some false negatives or positives. Conversely, if all the detail of schedule is disclosed in an example implementation, greater accuracy may be achieved.
- the customer or company may provide some detail of schedule, but may anonymize other details. For example, only meta-data of the schedule, rather than full contents, such as members invited to the meeting, may be shared. Further, in some example implementations, if a meeting involves some executives or external customers, the call might be considered high priority. Thus, role information from the company directory data table 255 may be used. If the members of the meeting are all only internal team members, the call may be work related but not as high priority as a meeting with executives or external customers.
- statistics of users in the company may be used.
- Such an example implementation may address some of the privacy issues described above. For example, if a user has a scheduled meeting and if many of the others in the same company/organization have the same schedule, it may likely be a town-hall meeting or some large event inside the organization. In such a situation, the system may decide to assign high priority.
- a system may be configured to decide QoS based on a customer's or company's collaboration system and destination of the traffic.
- a system may be similar to the system 100, 300 illustrated in FIGS. 1 and 3.
- the destination of traffic may also be used to determine context in addition to using the user's identification information as described in the embodiments discussed above with respect to FIGS. 2-4 above.
- the traffic may include the destination information. For example, if the user initiates a call, the destination information might be a telephone number or some equivalent. If the access by the user is web access or video streaming, the destination information might be an IP address of the server or a Uniform Resource Identifier (URI).
- URI Uniform Resource Identifier
- FIGS. 5 A and 5B illustrate a data structure 500 usable by a system in accordance with an example implementation of the present application in which destination of traffic may also be used to determine context in addition to using the user's identification information.
- FIGS. 5 A and 5B illustrate the data structure 500 represented as a series of tables.
- example implementations of the present application could have any other data format other than table format that may be apparent to a person of ordinary skill in the art.
- data structure 500 may be stored in a relational database (RDB) or any other file system or type of storage that may be apparent to a person of ordinary skill in the art.
- RDB relational database
- the data structure 500 includes a traffic data table 502 that contains subscriber identification data 504, corresponding service identification data 506, and destination information data 508.
- the traffic data in traffic data table 502 may originate from an end- user (e.g., user 1 105 of FIG. 1).
- the subscriber identification data 504 can be International Mobile Subscriber Identity (EVISI) or any other data or other value that might identify who the user is.
- the service identification data 506 may be an Access Point Name (APN) or any other value that be used be used to identify a service associated with the traffic.
- the destination information data 508 may be a telephone, an IP address, a URI, or any other data that might indicate a traffic destination.
- the Mobile network operator may store two tables 510, 520.
- One Table may be a user table 510 and may store the information of each end-user (e.g., user 1 105 of FIG. 1).
- the user table 510 may include a copy of the subscriber identification data 504 (also illustrated on table 502), and corresponding mobile customer identification data 512, user name data 514, company data 516 and telephone number data 518.
- the telephone data may correspond to some of the destination information data 508 of table 502.
- the system may identify from which end-user traffic originates based on the subscriber identification data 504 in the traffic. For example, using table 510, the mobile customer identification data 512, user name data 514, company data 516, and telephone number 518 corresponding to the subscriber identification data 504 may be determined.
- Mobile network operator may also store a services table 520.
- the services table 520 may store a copy of the service identification data 506 and corresponding class of the service data 522.
- a default priority of the traffic may be set based on the class of service data 522 corresponding to the service identification data 506 associated with the traffic, but it may increase or decrease based on the context as discussed below.
- databases of data such as a company A calendar data table 528 or directory data table 532 may be maintained for employees with its own user id.
- the company A calendar data table 528 may include company database (DB) user identification data 526 and corresponding schedule data 530 associated with company A.
- the directory data table 532 may include the company DB user identification data 526 and corresponding manager data 534.
- the analytic system (e.g., 150 of FIG. 1), which exists as part of mobile operator, may maintain a data matching table 524 that map between mobile customer identification data 512 illustrated in the user table 510 and company DB user identification data 526 that can be matched to one or more of the company A calendar data table 528, or the directory data table 532 to obtain company info.
- the analytic system (e.g., 150 of FIG. 1) may also maintain policy tables 536, 544, 552.
- the policy table 536 may relate to source information associated with company A.
- the policy table 536 may include source database data 538, source database content data 540, and priority modification data 542.
- the policy table 536 may maintain how to increase/decrease/maintain or set priority based on company information associated with a user sending traffic.
- the policy table 536 may be maintained by the company (e.g., customer), and each company may decide the policies for their traffic. For example, company A may want to set high priority (top row of priority modification data 542) always if CEO (corresponding source database data 538 and source database content data 540) makes a call, and also increase priority (middle row of priority modification data 542) if something is scheduled (corresponding rows of source database data 538 and source database content data 540) and decrease if not (bottom row of priority modification data 542 and corresponding rows of source database data 538 and source database content data 540).
- the policy table 544 may relate to destination information associated with company A.
- the policy table 544 may include source database data 546, source database content data 548, and priority modification data 550.
- the policy table 544 may maintain how to increase/decrease/maintain or set priority based on company information (such as destination role information or destination identifier information (e.g., phone number, IP address, etc.) associated with a destination of sent traffic.
- company information such as destination role information or destination identifier information (e.g., phone number, IP address, etc.) associated with a destination of sent traffic.
- the policy table 544 may be maintained by the company (e.g., customer), and each company may decide the policies for its destination traffic.
- company A may want to increase priority (top row of priority modification data 550) always if directory data table information indicates a call is directed to the user's manager (corresponding rows of source database data 546 and source database content data 548), and also increase priority (middle row of priority modification data 550) if the destination telephone indicates a WebEx or teleconferencing platform call (corresponding rows of source database data 546 and source database content data 548) and decrease if destination IP address is indicative of only private web browsing (bottom row of priority modification data 550 and corresponding rows of source database data 546 and source database content data 548).
- policy table 552 may relate to destination information to be used for all traffic regardless of company associations of the user.
- the policy table may include destination data 554 and priority modification data 556.
- the policy table 552 may maintain how to increase/decrease/maintain or set priority based on destination information without any association to a particular customer of company (e.g., globally). For example, traffic being directed to 911 (e.g., destination data 554), which in the U.S. is indicative of an emergency call, may be treated as the highest priority (e.g., priority modification data 556) regardless of which company the caller belongs to.
- the analytic system 150 may maintain such a global policy table separately from the policy table for each company.
- FIG. 6 illustrates a process 600 of the analytic system 150 (of FIG. 1) according to an example implementation of the present application.
- the analytic system 150 receives packets of traffic data from mobile network system at 605.
- the analytic system 150 extracts subscriber identification data, service identification data, and destination information from the received packets at 610.
- the analytic system 150 may then determine a class of service as a default priority for the traffic using services table 520 (of FIG. 5A) and a customer identification associated with the traffic using users table 510 (of FIG. 5A) at 615.
- the analytic system 150 may then determine company DB user identification for the user (e.g., user 1 105 of FIG.
- the analytic system 150 may get company information for the user from the company's database (e.g., schedule data 530 from the company A calendar data table 528 (of FIG. 5A) or manager data 534 from the directory data table 532 (also of FIG. 5 A)) at 625.
- company information for the user e.g., schedule data 530 from the company A calendar data table 528 (of FIG. 5A) or manager data 534 from the directory data table 532 (also of FIG. 5 A)
- the analytic system 150 determines how to change the priority for the traffic based on policy table 536 (of FIG. 5B) at 630.
- the analytic system 150 then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 635.
- the analytic system 150 determines if a destination associated with the traffic is listed in policy table 544 for destinations associated with the company or the policy table 552 for all companies at 640. If the destination associated with the traffic is listed in either policy table 544 or 552 (YES at 640), the analytic system 150 performs priority modification (increase, decrease, set a constant value, or no modification) at 655. The analytic system 150 then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 660 and then the process 600 proceeds to 665 discussed below.
- priority modification e.g., increase default, decrease the default priority, or set to a constant value based on the policy table
- the analytic system 150 obtains company information from the company database (e.g., schedule data 530 from the company A calendar data table 528 (of FIG. 5A) or manager data 534 from the directory data table 532 (also of FIG. 5 A)) for the destination user at 645.
- the analytic system 150 determines if the obtained company information of the destination user is in policy table 536 (of FIG. 5B) at 650. If the obtained company information of the destination user is in policy table 536 (YES at 650), the analytic system 150 performs the corresponding priority modification at 655.
- the analytic system 150 then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 660 and then the process 600 proceeds to 665 discussed below. Conversely, if the obtained company information of the destination user is not in policy table 536 (NO at 650), the process 600 proceeds directly to 665 discussed below.
- the priority modification e.g., increase default, decrease the default priority, or set to a constant value based on the policy table
- the analytic system 150 may then send instructions to the mobile network system, which then uses the received instructions to control priority for traffic.
- the received instructions may include instructions to handle error messages based on the adjusted priority.
- any other techniques for controlling traffic priority may be used.
- Example implementations may also relate to an apparatus for performing the operations herein.
- This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs.
- Such computer programs may be stored in a computer readable medium, such as a computer-readable storage medium or a computer-readable signal medium.
- a computer-readable storage medium may involve tangible mediums such as, but not limited to, optical disks, magnetic disks, read-only memories, random access memories, solid state devices and drives, or any other types of tangible or non-transitory media suitable for storing electronic information.
- a computer readable signal medium may include mediums such as carrier waves.
- the algorithms and displays presented herein are not inherently related to any particular computer or other apparatus.
- Computer programs can involve pure software implementations that involve instructions that perform the operations of the desired implementation.
- the operations described above can be performed by hardware, software, or some combination of software and hardware.
- Various aspects of the example implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out implementations of the present application.
- some example implementations of the present application may be performed solely in hardware, whereas other example implementations may be performed solely in software.
- the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways.
- the methods may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
The present disclosure discloses a method and system to manage traffic priority based on a context of the traffic in mobile or internet of things (IoT) environment. The present disclosure also discloses method and apparatus to manage priority based calendar information destination information or other information obtained from a company database.
Description
METHOD AND APPARATUS FOR QUALITY OF SERVICE LEVEL
ASSURANCE IN MOBILE NETWORK BACKGROUND
Field
[0001] The present disclosure is generally directed to mobile network systems, and more specifically, to quality of service assurance of traffic within a mobile network.
Related Art
[0002] With growth of mobile communications and increased popularity of the internet- of-things (IoT), mobile networks (e.g., radio access networks (RAN)) may be used for many different types of applications with different levels of importance being assigned to different services classes of data. Thus, in related art systems service, assurance based on an assigned class of service may be essential to ensure important data goes though the network even if other data being transmitted over the same network may be causing an issue (e.g., network congestion). In other words, the more important data may require higher quality of service (QoS).
[0003] For example, an ambulance sends electrocardiogram (EKG) data while heading to q hospital, or a security system may send an alert to a monitoring center so that the security company can dispatch staff or alert police. Related art systems may require these types of data to be delivered without loss or delay. Further, mobile payment data or enterprise Voice over Long-Term Evolution Network (VoLTE) data may not be as high a priority as the EKG data or the security alert, but should be treated with higher priority than normal web surfing or video streaming. Thus, these data types may be classified into different service classes (e.g., "mission critical", "premium," and "best effort"). For example, EKG data and security alert data may be classified as "mission critical", enterprise VoLTE and mobile payment may be classified "premium", and web surfing and
video streaming may be classified as "best effort". The number of classes could also be any number larger than two, and classification might not necessarily be the specific classes described above.
[0004] In the related art systems, the priority assigned to data may be based on an assigned class of service defined at the time of contract between a user and a network operator. Further, the priority may be classified based on packet header associated with the data. In some related art systems, an entity may pay (e.g., "a payer") for a specific class of service (e.g., pay to receive higher priority) that they have selected.
[0005] However, in some related art systems, the entity paying (e.g., the payer) for the specific class of service may not actually be the individual person initiating the actual communication (e.g., the user). For example in an enterprise VoLTE situation, a company may be a payer and may pay for a specific class of service, but company employees may be the users of the VoLTE service. In the related art systems, priority is relatively static, leading to the fact that data of less importance may be treated as high priority if it was initiated using high priority service. For example, a user may initiate a call via an enterprise VoLTE service, but the call may be a private (e.g., unrelated to work) call and thus be of a lower priority since the private call is not related to work and the company or customer pays for premium service only for work calls.
[0006] Related art implementations may involve mechanisms for providing a method for precedence-based QoS to become a customer configurable parameter on network interfacing premise equipment, such as a Terminal Adapter (TA), a customer gateway or a customer router. This related art implementation may allow payers to dynamically adjust the QoS level of voice traffic handling by premise based access equipment from an access perspective as a function of their specific requirements (e.g., on either a call-by-call basis, a time of day basis, or a day of the week basis). This related art implementation may
involve a mechanism to change the priority based on user's context, but requires the priority be predefined by the user when sending the data over the network. An example of such a related art system can be found, for example, at US Patent Application No. 2007/0047527, the contents of which are hereby incorporated by reference in its entirety for all purposes.
SUMMARY
[0007] Aspects of the present disclosure can include a system configured to communicate with an other system, which facilitates mobile traffic between a source and a destination. The mobile operator system may include a processor. The processor may be configured to manage access to one or more company databases, on receipt of the mobile traffic from the other system, determine a default priority for the mobile traffic based on packet information, determine user information from the packet information, access company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company, and adjust the default priority of the mobile traffic based on the company information.
[0008] Aspects of the present disclosure further include a non-transitory computer readable medium storing instructions for communicating with an other system that facilitates mobile traffic between a source and a destination. The instructions may include managing access to one or more company databases, on receipt of the mobile traffic from the other system, determining a default priority for the mobile traffic based on packet information, determining user information from the packet information, accessing company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and
role of user within a corresponding company, and adjusting default priority of the mobile traffic based on the company information.
[0009] Aspects of the present disclosure further include an apparatus for communicating with a system, which facilitates mobile traffic between a source and a destination. The apparatus including means for managing access to one or more company databases, on receipt of the mobile traffic from the other system, means for determining a default priority for the mobile traffic based on packet information, means for determining user information from the packet information, means for accessing company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company, and means for adjusting default priority of the mobile traffic based on the company information.
BRIEF DESCRIPTION OF DRAWINGS
[0010] FIG. 1 illustrates an overall structure of a system in accordance with an example implementation of the present application.
[0011] FIG. 2 illustrates a data structure usable by a system in accordance with an example implementation of the present application.
[0012] FIG. 3 shows a block diagram of a computing environment according to an example implementation of the present application.
[0013] FIG. 4 illustrates a process of the analytic system according to an example implementation of the present application.
[0014] FIGS. 5A and 5B illustrate a data structure usable by a system in accordance with an example implementation of the present application.
[0015] FIG. 6 illustrates a process of the analytic system according to an example implementation of the present application.
DETAILED DESCRIPTION
[0016] The following detailed description provides further details of the figures and example implementations of the present application. Reference numerals and descriptions of redundant elements between figures are omitted for clarity. Terms used throughout the description are provided as examples and are not intended to be limiting. For example, the use of the term "automatic" may involve fully automatic or semi-automatic implementations involving user or administrator control over certain aspects of the implementation, depending on the desired implementation of one of ordinary skill in the art practicing implementations of the present application. The terms "request" and "operation" may also be used interchangeably.
[0017] In some example implementations of the present application, priority may be assigned dynamically based on context associated with the data. As used herein, context may mean "who is generating the traffic or for what purpose the traffic is being generated." In order to decide priority based on context, the priority may not be predefined at the time the traffic is initiated and may not be obtained from a packet header alone.
[0018] In an example implementation described below, a system may be configured to decide QoS based on calendar information or other information obtained from a company or customer database.
[0019] FIG. 1 illustrates an overall structure of a system in accordance with an example implementation of the present application. As illustrated, User 1 105 makes a call through a VoLTE service using a mobile device 110 (e.g., User equipment (UE)) in communication with a base station 115 of a first mobile network 120. During the call, voice data may go through the first mobile network 120 to connect to the internet 140 (e.g., a web server, ISP, etc.). Through the internet 140, the mobile device 110 may be
connected to another mobile device 145 via a base station 135 of a second mobile network 125, either directly or using the same VoLTE service, or traditional phone, or teleconference system 130. In a VoLTE example, the mobile device 110 may be a smartphone or any other device which sends or receives data through mobile network, such as smartphone, tablet device, laptop, sensor device, or other IoT devices.
[0020] In an enterprise VoLTE, or any enterprise network services, the network operator makes contract with one or more companies (e.g., company A 155) and company A 155 may pay the costs, while the actual user (e.g., User 1 105) of the service is an individual employee of company A 155. Company A 155 may pay extra cost for premium service that may ensure greater reliability of the enterprise service compared to home or other private use.
[0021] The mobile network 120 may be in communication with an analytic system 150 provided by the mobile network operator to monitor traffic to and from customers (e.g., user 1 105 from Company A 155). The analytic system 150 may retrieve data from an IT system 160 within Company A 155 to determine for what purpose user 1 105 is making the call. In some example implementations, the IT system 160 may be a collaboration system which manages an employee's calendar and/or Company A's organization structure and may be useful in assessing the user's purpose in making the call. For example, if user 1 105 has a scheduled meeting with other employees, a call may relate to work and require priority under Company A's agreement with the network operator. Conversely, if user 1 105 has nothing scheduled according Company A's calendar information, the call may likely be private and not require priority under Company A's agreement with the network operator.
[0022] Although VoLTE service is used in these example implementations, other example implementations may be applied to other network services (e.g., video streaming, web
conferencing, messaging, or any other network service) that may be apparent to a person of ordinary skill in the art. Additionally, in this example implementation, the system 100 determines that traffic priority can be lowered from "premium" service; other example implementations can have an opposite operation. For example, a default priority might be "best effort," and if the system 100 determines the current traffic should be higher priority, the system 100 can increase the priority (e.g., to "premium" or even "mission critical").
[0023] FIG. 2 illustrates a data structure 200 usable by a system 100 in accordance with an example implementation of the present application. Figure 2 illustrates the data structure 200 represented by a series of tables. However, example implementations of the present application could have any other data format other than table format that may be apparent to a person of ordinary skill in the art. Further, data structure 200 may be stored in a relational database (RDB) or any other file system or type of storage that may be apparent to a person of ordinary skill in the art.
[0024] The data structure 200 includes a traffic data table 205 that contains subscriber identification data 210 and corresponding service identification data 215. The traffic data in table 205 may originate from an end-user (e.g., user 1 105 of FIG. 1). The subscriber identification data 210 can be International Mobile Subscriber Identity (IMSI) or any other data or other value that might identify who the user is. The service identification data 215 may be an Access Point Name (APN) or any other value that be used be used to identify a service associated with the traffic.
[0025] Mobile network operator may store two tables 220, 225. One table may be a user table 220 and may store the information of each end-user (e.g., user 1 105 of FIG. 1). For example, the user table 220 may include a copy of the subscriber identification data 210 (also illustrated on table 205), and corresponding mobile customer identification data 230, user name data 235 and company data 240. Using this user table 220, the system may
identify from which end-user traffic originates based on the subscriber identification data 210 in the traffic. For example, using table 220 the mobile customer identification data 230, user name data 235, and company data 240 corresponding to the subscriber identification data 210 may be determined.
[0026] Mobile network operator may also store a services table 225. The services table 225 may store a copy of the service identification data 215 and corresponding class of the service data 245. During processing by the system, a default priority of the traffic may be set based on the class of service data 245 corresponding to the service identification data 215 associated with the traffic, but it may increase or decrease priority based on the context as discussed below.
[0027] On a company or customer side (e.g., within the IT system 160 of company A 155 of FIG. 1), databases of data such as a company A calendar data table 250 or directory data table 255 may be maintained for employees with its own user id. The company A calendar data table 250 may include company database (DB) user identification data 265 and corresponding schedule data 270 associated with company A. The directory data table 255 may include the company DB user identification data 265 and corresponding role data 275.
[0028] In some implementations, multiple company databases may be maintained by different companies as illustrated by the company B calendar data table 260. Like the company A calendar data table 250 associated with company A, the company B calendar data table 260 may include also company DB user identification data 265 and corresponding schedule data 280 associated with company B.
[0029] Further, the analytic system (e.g., 150 of FIG. 1), which exists as part of mobile operator, may maintain a data matching table 285 that maps between mobile customer identification data 230 illustrated in the user table 220 and company DB user identification
data 265 that can be matched to one or more of the company A calendar data table 250, the company B calendar data table 260, or the directory data table 255 to obtain company information.
[0030] The analytic system (e.g., 150 of FIG. 1) may also maintain a policy table 290. The policy table 290 may include source database data 295, source database content data 297, and priority modification data 299. The policy table 290 may maintain how to increase/decrease/maintain or set priority based on company information associated with a user sending traffic. The policy table 290 may be maintained or defined by the company (e.g., customer), and each company may define the policies for their traffic. For example, company A may want to set high priority (top row of priority modification data 299) always if CEO (corresponding source database data 295 and source database content data 297) makes a call, and also increase priority (middle row of priority modification data 299) if something is scheduled (corresponding rows of source database data 295 and source database content data 297) and decrease if not (bottom row of priority modification data 299 and corresponding rows of source database data 295 and source database content data 297).
[0031] In some example implementations, the company or customer may define the policy table and then transmit the policy table to the mobile system operator and the mobile system operator may store the policy table. In other example implementations, the policy table may be stored on the company or customer's servers and the mobile system operator may retrieve the policy table or data from the policy table via a secure connection. In other words, the policy table may be defined by an operator at a company and is stored in a database on the company side for transmission to, or retrieval by, the mobile system operator.
[0032] FIG. 3 shows a block diagram of a computing environment 300 according to an example implementation of the present application. As illustrated, the system 300 may include a mobile operator associated device 305 and company associated device 307. In the illustrated example implementation, a single company associated device 307 is illustrated. However, other example implementations may include a plurality of company associated devices, each associated with a different company.
[0033] The mobile operator associated device 305 may include two systems: a mobile network system 309, which handles network traffic, and the analytic system 150, which analyzes and monitors the traffic. The analytic system 150 may be the analytic system 150 illustrated in FIG. 1 discussed above.
[0034] The mobile network system 309 may include disks or other storage media 313 (e.g., magnetic, optical, solid state storage, and/or organic), one or more processors 315, a memory 319 (e.g., RAM, ROM, and/or the like), and one or more I/O devices 321, any of which can be coupled on a communication mechanism or bus 377 for communicating information.
[0035] The mobile network system 309 can be communicatively coupled to input/user interface 349 and output device/interface 351. Either one or both of input/user interface 349 and output device/interface 351 can be a wired or wireless interface and can be detachable. Input/user interface 349 include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like). Output device/interface 351 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 349 and output device/interface 351 can be embedded with or physically coupled to the mobile network system 309. In other example implementations,
other computer devices may function as or provide the functions of input/user interface 349 and output device/interface 351 for the mobile network system 309.
[0036] Examples of the mobile network system 309 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
[0037] The mobile network system 309 can be communicatively coupled (e.g., via I/O device 321) to external storage 353 and network 355 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration. The mobile network system 309 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
[0038] I/O device 321 can include, but is not limited to, wired and/or wireless interfaces using any communication or I/O protocols or standards (e.g., Ethernet, 802. l lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all of the connected components, devices, and network in computing environment 300. Network 355 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
[0039] The mobile network system 309 can use and/or communicate using computer- usable or computer-readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals,
carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
[0040] In some example implementations, the memory 319 may cache information (e.g., data from the matching table 335 or the policy table 337) stored on the disks 327 of the analytic system 150. In other example implementations, the memory 319 may cache information (e.g., data from calendar data table 250 or the directory data table 255) stored on the disks 341 of the mobile network system company database 339. The mobile network system maintains the user table 220 (from FIG. 2) and services table 225 (also from FIG. 2) in its disks 313 and a traffic control module 317 running in the one or more processors 315.
[0041] Similarly, the analytic system 150 may include disks or other storage media 327 (e.g., magnetic, optical, solid state storage, and/or organic), one or more processors 329, a memory 331 (e.g., RAM, ROM, and/or the like), and one or more I/O devices 333, any of which can be coupled on a communication mechanism or bus 375 for communicating information.
[0042] The analytic system 150 can be communicatively coupled to input/user interface 357 and output device/interface 359. Either one or both of input/user interface 357 and output device/interface 359 can be a wired or wireless interface and can be detachable. Input/user interface 357 include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical reader, and/or the like). Output device/interface 359 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 357
and output device/interface 359 can be embedded with or physically coupled to the analytic system 150. In other example implementations, other computer devices may function as or provide the functions of input/user interface 357 and output device/interface 359 for the analytic system 150.
[0043] Examples of the analytic system 150 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
[0044] The analytic system 150 can be communicatively coupled (e.g., via I/O device 333) to external storage 361 and network 363 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration. The analytic system 150 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
[0045] I/O device 333 can include, but is not limited to, wired and/or wireless interfaces using any communication or I O protocols or standards (e.g., Ethernet, 802. l lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all of the connected components, devices, and network in computing environment 300. Network 363 can be any network or combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
[0046] The analytic system 150 can use and/or communicate using computer-usable or computer-readable media, including transitory media and non-transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other non-volatile storage or memory.
[0047] In some example implementations, the memory 331 may cache information (e.g., data from the users table 220 or the services table 225) stored on the disks 313 of the mobile network system 309. In other example implementations, the memory 331 may cache information (e.g., data from calendar data table 250 or the directory data table 255) stored on the disks 341 of the mobile network system company database 339. The analytic system 150 maintains the matching table 285 (from FIG. 2) and the policy table 290 (also from FIG. 2) in its disks.
[0048] Each company associated device 307 may maintain its own company database 339. Each company database 339 may include disks or other storage media 341 (e.g., magnetic, optical, solid state storage, and/or organic), one or more processors 343, a memory 345 (e.g., RAM, ROM, and/or the like), and one or more I/O devices 347, any of which can be coupled on a communication mechanism or bus 373 for communicating information.
[0049] Each company database 339 can be communicatively coupled to input/user interface 365 and output device/interface 367. Either one or both of input/user interface 365 and output device/interface 367 can be a wired or wireless interface and can be detachable. Input/user interface 365 include any device, component, sensor, or interface, physical or virtual, that can be used to provide input (e.g., buttons, touch-screen interface, keyboard, a pointing/cursor control, microphone, camera, braille, motion sensor, optical
reader, and/or the like). Output device/interface 367 may include a display, television, monitor, printer, speaker, braille, or the like. In some example implementations, input/user interface 365 and output device/interface 367 can be embedded with or physically coupled to the company database 339. In other example implementations, other computer devices may function as or provide the functions of input/user interface 365 and output device/interface 367 for the company database 339.
[0050] Examples of the company database 339 may include, but are not limited to, highly mobile devices (e.g., smartphones, devices in vehicles and other machines, devices carried by humans and animals, and the like), mobile devices (e.g., tablets, notebooks, laptops, personal computers, portable televisions, radios, and the like), and devices not designed for mobility (e.g., desktop computers, other computers, information kiosks, televisions with one or more processors embedded therein and/or coupled thereto, radios, and the like).
[0051] The company database 339 can be communicatively coupled (e.g., via I/O device 347) to external storage 369 and network 371 for communicating with any number of networked components, devices, and systems, including one or more computer devices of the same or different configuration. The company database 339 or any connected computer device can be functioning as, providing services of, or referred to as a server, client, thin server, general machine, special-purpose machine, or another label.
[0052] I/O device 347 can include, but is not limited to, wired and/or wireless interfaces using any communication or I O protocols or standards (e.g., Ethernet, 802. l lx, Universal System Bus, WiMax, modem, a cellular network protocol, and the like) for communicating information to and/or from at least all of the connected components, devices, and network in computing environment 300. Network 371 can be any network or
combination of networks (e.g., the Internet, local area network, wide area network, a telephonic network, a cellular network, satellite network, and the like).
[0053] The company database 339analytic system 150 can use and/or communicate using computer-usable or computer-readable media, including transitory media and non- transitory media. Transitory media include transmission media (e.g., metal cables, fiber optics), signals, carrier waves, and the like. Non-transitory media include magnetic media (e.g., disks and tapes), optical media (e.g., CD ROM, digital video disks, Blu-ray disks), solid state media (e.g., RAM, ROM, flash memory, solid-state storage), and other nonvolatile storage or memory.
[0054] In some example implementations, the memory 345 may cache information (e.g., data from the users table 220 or the services table 225) stored on the disks 313 of the mobile network system 309. In other example implementations, the memory 345 may cache information (e.g., data from the matching table 335 or the policy table 337) stored on the disks 327 of the analytic system 150. Each company database 339 may maintain a calendar data table (such as company A data table 250 of FIG. 2), a directory data table or role data table 255 or other company information in it disks.
[0055] The mobile network system 309, the analytic system 150, and the company database 339 alone, or in combination with each other can be used to implement techniques, methods, applications, processes, or computer-executable instructions in some example computing environments. Computer-executable instructions can be retrieved from transitory media, and stored on and retrieved from non-transitory media. The executable instructions can originate from one or more of any programming, scripting, and machine languages (e.g., C, C++, C#, Java, Visual Basic, Python, Perl, JavaScript, and others).
[0056] FIG. 4 illustrates a process 400 of the analytic system 150 (of FIG. 1) according to an example implementation of the present application. In the process 400, the analytic system 150 (of FIG. 1) receives packets of traffic data from mobile network system at 405. After the traffic data is received, the analytic system 150 extracts subscriber identification data and service identification data from the received packets of traffic data at 410. The analytic system 150 (of FIG. 1) may then determine a class of service as a default priority for the traffic using services table 225 (of FIG. 2) at 415. The analytic system 150 (of FIG. 1) may also determine a mobile customer identification corresponding to the subscriber identification data using users table 220 (also of FIG. 2) at 415.
[0057] Based on the mobile customer identification, the analytic system 150 determines a company database identification of the user (e.g., user 1 105 of FIG. 1) using the matching table 285 (of FIG. 2) at 420. Based on the company database identification of the user determined at 420, the analytic system may get company information associated with the user from company's database (e.g., schedule data 270 from the company A calendar data table 250 (of FIG. 2) or role data 275 from the directory data table 255 (also of FIG. 2)) at 425.
[0058] Based on the company information from company database (e.g., schedule data 270 from the company A calendar data table 250 (of FIG. 2) or role data 275 from the directory data table 255 (also of FIG. 2)), the analytic system determines how to modify the priority for the traffic using the policy table 290 (of FIG. 2) at 430. The analytic system then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 435. In some example implementations, the priority modification may include maintaining the original priority without any modification at 435. The analytic system may then send instructions to the mobile network system, which then uses the received instructions to control priority for
traffic 440. In some example implementations, the received instructions may include instructions to handle error messages based on the adjusted priority. However, in other example implementations any other techniques for controlling traffic priority that may be apparent to a person of ordinary skill in the art may be used.
[0059] For example, based on the data illustrated in FIG. 2, the analytic system 150 may receive traffic data with subscriber identification 12345678901 and service identification voltel23 at 2:00pm. Using service table 225, the analytic system 150 determines the class of service associated with the service identification voltel23 is premium. Using users table 220, the analytic system 150 may determine that subscriber 12345678901 is A-123- Taro in company A, and then using matching table 285, the analytic system 150 determines that the corresponding company database user identification is ytaro. Then, the analytic system 150 determines the user is the Chief Executive Officer (CEO) of the customer or company and has a scheduled call at 2:00pm based on the directory data table 255 and the company A calendar data table 250. Based on the policy table 290 the priority may be set as high since the user is the CEO and thus always set as high.
[0060] Conversely, when a user with subscriber identification 12345678902 makes a call with the same service identification volte 123 (second line of traffic data), priority will be deceased since user is not CEO and the schedule indicates no meetings.
[0061] Since different companies have different policies, some example implementations may vary the amount of information that is shared with the mobile operator. For example, to minimize the amount of information shared a company may only disclose whether something is on the schedule or not (e.g., busy or free). If the schedule indicates busy, the call may be presumed work and thus be treated as high priority. Not free, the call is treated as lower priority since it might be private call. However, such a system might have
some false negatives or positives. Conversely, if all the detail of schedule is disclosed in an example implementation, greater accuracy may be achieved.
[0062] In example implementations between these extremes, the customer or company may provide some detail of schedule, but may anonymize other details. For example, only meta-data of the schedule, rather than full contents, such as members invited to the meeting, may be shared. Further, in some example implementations, if a meeting involves some executives or external customers, the call might be considered high priority. Thus, role information from the company directory data table 255 may be used. If the members of the meeting are all only internal team members, the call may be work related but not as high priority as a meeting with executives or external customers.
[0063] In other example implementations, statistics of users in the company, rather than details associated with a specific user of the interest, may be used. Such an example implementation may address some of the privacy issues described above. For example, if a user has a scheduled meeting and if many of the others in the same company/organization have the same schedule, it may likely be a town-hall meeting or some large event inside the organization. In such a situation, the system may decide to assign high priority.
[0064] In another example implementation described below, a system may be configured to decide QoS based on a customer's or company's collaboration system and destination of the traffic. Such a system may be similar to the system 100, 300 illustrated in FIGS. 1 and 3. However, in the example implementation discussed below, the destination of traffic may also be used to determine context in addition to using the user's identification information as described in the embodiments discussed above with respect to FIGS. 2-4 above. Often when an end-user accesses the network, the traffic may include the destination information. For example, if the user initiates a call, the destination
information might be a telephone number or some equivalent. If the access by the user is web access or video streaming, the destination information might be an IP address of the server or a Uniform Resource Identifier (URI).
[0065] FIGS. 5 A and 5B illustrate a data structure 500 usable by a system in accordance with an example implementation of the present application in which destination of traffic may also be used to determine context in addition to using the user's identification information. FIGS. 5 A and 5B illustrate the data structure 500 represented as a series of tables. However, example implementations of the present application could have any other data format other than table format that may be apparent to a person of ordinary skill in the art. Further, data structure 500 may be stored in a relational database (RDB) or any other file system or type of storage that may be apparent to a person of ordinary skill in the art.
[0066] The data structure 500 includes a traffic data table 502 that contains subscriber identification data 504, corresponding service identification data 506, and destination information data 508. The traffic data in traffic data table 502 may originate from an end- user (e.g., user 1 105 of FIG. 1). The subscriber identification data 504 can be International Mobile Subscriber Identity (EVISI) or any other data or other value that might identify who the user is. The service identification data 506 may be an Access Point Name (APN) or any other value that be used be used to identify a service associated with the traffic. The destination information data 508 may be a telephone, an IP address, a URI, or any other data that might indicate a traffic destination.
[0067] The Mobile network operator may store two tables 510, 520. One Table may be a user table 510 and may store the information of each end-user (e.g., user 1 105 of FIG. 1). For example, the user table 510 may include a copy of the subscriber identification data 504 (also illustrated on table 502), and corresponding mobile customer identification data
512, user name data 514, company data 516 and telephone number data 518. The telephone data may correspond to some of the destination information data 508 of table 502. Using this user table 510, the system may identify from which end-user traffic originates based on the subscriber identification data 504 in the traffic. For example, using table 510, the mobile customer identification data 512, user name data 514, company data 516, and telephone number 518 corresponding to the subscriber identification data 504 may be determined.
[0068] Mobile network operator may also store a services table 520. The services table 520 may store a copy of the service identification data 506 and corresponding class of the service data 522. During processing by the system, a default priority of the traffic may be set based on the class of service data 522 corresponding to the service identification data 506 associated with the traffic, but it may increase or decrease based on the context as discussed below.
[0069] On a company side (e.g., within the IT system 160 of company A 155 of FIG. 1), databases of data such as a company A calendar data table 528 or directory data table 532 may be maintained for employees with its own user id. The company A calendar data table 528 may include company database (DB) user identification data 526 and corresponding schedule data 530 associated with company A. The directory data table 532 may include the company DB user identification data 526 and corresponding manager data 534.
[0070] Further, the analytic system (e.g., 150 of FIG. 1), which exists as part of mobile operator, may maintain a data matching table 524 that map between mobile customer identification data 512 illustrated in the user table 510 and company DB user identification data 526 that can be matched to one or more of the company A calendar data table 528, or the directory data table 532 to obtain company info.
[0071] As illustrated in FIG. 5B, the analytic system (e.g., 150 of FIG. 1) may also maintain policy tables 536, 544, 552. The policy table 536 may relate to source information associated with company A. The policy table 536 may include source database data 538, source database content data 540, and priority modification data 542. The policy table 536 may maintain how to increase/decrease/maintain or set priority based on company information associated with a user sending traffic. The policy table 536 may be maintained by the company (e.g., customer), and each company may decide the policies for their traffic. For example, company A may want to set high priority (top row of priority modification data 542) always if CEO (corresponding source database data 538 and source database content data 540) makes a call, and also increase priority (middle row of priority modification data 542) if something is scheduled (corresponding rows of source database data 538 and source database content data 540) and decrease if not (bottom row of priority modification data 542 and corresponding rows of source database data 538 and source database content data 540).
[0072] Further, the policy table 544 may relate to destination information associated with company A. The policy table 544 may include source database data 546, source database content data 548, and priority modification data 550. The policy table 544 may maintain how to increase/decrease/maintain or set priority based on company information (such as destination role information or destination identifier information (e.g., phone number, IP address, etc.) associated with a destination of sent traffic. The policy table 544 may be maintained by the company (e.g., customer), and each company may decide the policies for its destination traffic. For example, company A may want to increase priority (top row of priority modification data 550) always if directory data table information indicates a call is directed to the user's manager (corresponding rows of source database data 546 and source database content data 548), and also increase priority (middle row of priority
modification data 550) if the destination telephone indicates a WebEx or teleconferencing platform call (corresponding rows of source database data 546 and source database content data 548) and decrease if destination IP address is indicative of only private web browsing (bottom row of priority modification data 550 and corresponding rows of source database data 546 and source database content data 548).
[0073] Further, policy table 552 may relate to destination information to be used for all traffic regardless of company associations of the user. The policy table may include destination data 554 and priority modification data 556. The policy table 552 may maintain how to increase/decrease/maintain or set priority based on destination information without any association to a particular customer of company (e.g., globally). For example, traffic being directed to 911 (e.g., destination data 554), which in the U.S. is indicative of an emergency call, may be treated as the highest priority (e.g., priority modification data 556) regardless of which company the caller belongs to. The analytic system 150 may maintain such a global policy table separately from the policy table for each company.
[0074] FIG. 6 illustrates a process 600 of the analytic system 150 (of FIG. 1) according to an example implementation of the present application. In the process 400, the analytic system 150 (of FIG. 1) receives packets of traffic data from mobile network system at 605. After the traffic data is received, the analytic system 150 extracts subscriber identification data, service identification data, and destination information from the received packets at 610. The analytic system 150 may then determine a class of service as a default priority for the traffic using services table 520 (of FIG. 5A) and a customer identification associated with the traffic using users table 510 (of FIG. 5A) at 615. The analytic system 150 may then determine company DB user identification for the user (e.g., user 1 105 of FIG. 1) using the matching table 524 at 620. Based on the company database
identification of the user, the analytic system 150 may get company information for the user from the company's database (e.g., schedule data 530 from the company A calendar data table 528 (of FIG. 5A) or manager data 534 from the directory data table 532 (also of FIG. 5 A)) at 625.
[0075] Based on the information from company database (e.g., schedule data 530 from the company A calendar data table 528 (of FIG. 5A) or manager data 534 from the directory data table 532 (also of FIG. 5 A)), the analytic system 150 determines how to change the priority for the traffic based on policy table 536 (of FIG. 5B) at 630. The analytic system 150 then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 635.
[0076] Then the analytic system 150 determines if a destination associated with the traffic is listed in policy table 544 for destinations associated with the company or the policy table 552 for all companies at 640. If the destination associated with the traffic is listed in either policy table 544 or 552 (YES at 640), the analytic system 150 performs priority modification (increase, decrease, set a constant value, or no modification) at 655. The analytic system 150 then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 660 and then the process 600 proceeds to 665 discussed below.
[0077] Conversely, if the destination associated with the traffic is not listed in either policy table 544 or 552 (NO at 640), the analytic system 150 obtains company information from the company database (e.g., schedule data 530 from the company A calendar data table 528 (of FIG. 5A) or manager data 534 from the directory data table 532 (also of FIG. 5 A)) for the destination user at 645. The analytic system 150 then determines if the obtained company information of the destination user is in policy table 536 (of FIG. 5B) at 650. If the obtained company information of the destination user is in policy table 536
(YES at 650), the analytic system 150 performs the corresponding priority modification at 655. The analytic system 150 then performs the priority modification (e.g., increase default, decrease the default priority, or set to a constant value based on the policy table) at 660 and then the process 600 proceeds to 665 discussed below. Conversely, if the obtained company information of the destination user is not in policy table 536 (NO at 650), the process 600 proceeds directly to 665 discussed below.
[0078] At 665, the analytic system 150 may then send instructions to the mobile network system, which then uses the received instructions to control priority for traffic. In some example implementations, the received instructions may include instructions to handle error messages based on the adjusted priority. However, in other example implementations any other techniques for controlling traffic priority that may be apparent to a person of ordinary skill in the art may be used.
[0079] Some portions of the detailed description are presented in terms of algorithms and symbolic representations of operations within a computer. These algorithmic descriptions and symbolic representations are the means used by those skilled in the data processing arts to convey the essence of their innovations to others skilled in the art. An algorithm is a series of defined steps leading to a desired end state or result. In example implementations, the steps carried out require physical manipulations of tangible quantities for achieving a tangible result.
[0080] Unless specifically stated otherwise, as apparent from the discussion, it is appreciated that throughout the description, discussions utilizing terms such as "processing," "computing," "calculating," "determining," "displaying," or the like, can include the actions and processes of a computer system or other information processing device that manipulates and transforms data represented as physical (electronic) quantities within the computer system' s registers and memories into other data similarly represented
as physical quantities within the computer system's memories or registers or other information storage, transmission or display devices.
[0081] Example implementations may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may include one or more general-purpose computers selectively activated or reconfigured by one or more computer programs. Such computer programs may be stored in a computer readable medium, such as a computer-readable storage medium or a computer-readable signal medium. A computer-readable storage medium may involve tangible mediums such as, but not limited to, optical disks, magnetic disks, read-only memories, random access memories, solid state devices and drives, or any other types of tangible or non-transitory media suitable for storing electronic information. A computer readable signal medium may include mediums such as carrier waves. The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Computer programs can involve pure software implementations that involve instructions that perform the operations of the desired implementation.
[0082] Various general-purpose systems may be used with programs and modules in accordance with the examples herein, or it may prove convenient to construct a more specialized apparatus to perform desired method steps. In addition, the example implementations are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the example implementations as described herein. The instructions of the programming language(s) may be executed by one or more processing devices, e.g., central processing units (CPUs), processors, or controllers.
[0083] As is known in the art, the operations described above can be performed by hardware, software, or some combination of software and hardware. Various aspects of
the example implementations may be implemented using circuits and logic devices (hardware), while other aspects may be implemented using instructions stored on a machine-readable medium (software), which if executed by a processor, would cause the processor to perform a method to carry out implementations of the present application. Further, some example implementations of the present application may be performed solely in hardware, whereas other example implementations may be performed solely in software. Moreover, the various functions described can be performed in a single unit, or can be spread across a number of components in any number of ways. When performed by software, the methods may be executed by a processor, such as a general purpose computer, based on instructions stored on a computer-readable medium. If desired, the instructions can be stored on the medium in a compressed and/or encrypted format.
[0084] Moreover, other implementations of the present application will be apparent to those skilled in the art from consideration of the specification and practice of the teachings of the present application. Various aspects and/or components of the described example implementations may be used singly or in any combination. It is intended that the specification and example implementations be considered as examples only, with the true scope and spirit of the present application being indicated by the following claims.
Claims
1. A system configured to communicate with an other system which facilitates mobile traffic between a source and a destination, the system comprising:
a processor, configured to:
manage access to one or more company databases;
on receipt of the mobile traffic from the other system:
determine a default priority for the mobile traffic based on packet information;
determine user information from the packet information;
access company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company; and
adjust the default priority of the mobile traffic based on the company information.
2. The system of claim 1, wherein the processor is configured to adjust the default priority of the mobile traffic based on the company information in accordance with policy table associated with a company.
3. The system of claim 2, wherein the policy table comprises:
user role information;
user schedule information; and
default priority adjustment information associated with one or more of the user role information and the user schedule information.
4. The system of claim 1, wherein the processor is configured to adjust the default priority of the mobile traffic based on the company information comprising company
schedule information comprising at least one of a number of users attending a scheduled meeting and a role of at one user attending the scheduled meeting.
5. The system of claim 1, wherein the processor is configured to send instructions to the other system so that the other system controls the mobile traffic based on the adjusted default priority.
6. The system of claim 1, further comprising a memory configured to cache the company schedule information from the one or more company databases, the one or more company databases being external to the system.
7. The system of claim 1, further comprising a memory configured to cache user information from the other system.
8. The system of claim 1, wherein the processor is also configured to adjust the default priority based on destination information determined from the packet information and a destination policy table.
9. The system of claim 8, wherein the destination policy table comprises:
destination role information;
destination identifier information; and
default priority adjustment information associated with one or more of the destination role information and the destination identifier information.
10. A non-transitory computer readable medium, storing instructions for communicating with an other system that facilitates mobile traffic between a source and a destination, the instructions comprising:
managing access to one or more company databases;
on receipt of the mobile traffic from the other system:
determining a default priority for the mobile traffic based on packet information;
determining user information from the packet information; accessing company information from the one or more company databases corresponding to the user information, the company information comprising at least one of company schedule and role of user within a corresponding company; and
adjusting default priority of the mobile traffic based on the company information.
11. The non-transitory computer readable medium of claim 10, wherein adjusting the default priority of the mobile traffic based on the company information is performed in accordance with policy table associated with a company.
12. The non-transitory computer readable medium of claim 11, wherein the policy table comprises:
user role information;
user schedule information; and
default priority adjustment information associated with one or more of the user role information and the user schedule information
13. The non-transitory computer readable medium of claim 10, wherein the company information comprises company schedule information comprising at least one of a number of users attending a scheduled meeting and a role of at least one user attending the scheduled meeting.
14. The non-transitory computer readable medium of claim 10, further comprising sending instructions to the other system so that the other system controls the mobile traffic based on the adjusted default priority.
15. The non-transitory computer readable medium of claim 10, further comprising adjusting the priority based on a destination policy table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/038226 WO2017218017A1 (en) | 2016-06-17 | 2016-06-17 | Method and apparatus for quality of service level assurance in mobile network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2016/038226 WO2017218017A1 (en) | 2016-06-17 | 2016-06-17 | Method and apparatus for quality of service level assurance in mobile network |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017218017A1 true WO2017218017A1 (en) | 2017-12-21 |
Family
ID=60663637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2016/038226 WO2017218017A1 (en) | 2016-06-17 | 2016-06-17 | Method and apparatus for quality of service level assurance in mobile network |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2017218017A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095016A (en) * | 2021-11-05 | 2023-05-09 | 中国移动通信有限公司研究院 | An information processing method, device, equipment and readable storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1035751A2 (en) * | 1999-03-11 | 2000-09-13 | Lucent Technologies Inc. | Adaptive routing system and method for Qos packet networks |
US20030115311A1 (en) * | 2001-11-29 | 2003-06-19 | Enigmatec Corporation | Enterprise network infrastructure for mobile users |
US20160065453A1 (en) * | 2014-08-26 | 2016-03-03 | International Business Machines Corporation | Cooperatively managing role based quality of service |
-
2016
- 2016-06-17 WO PCT/US2016/038226 patent/WO2017218017A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1035751A2 (en) * | 1999-03-11 | 2000-09-13 | Lucent Technologies Inc. | Adaptive routing system and method for Qos packet networks |
US20030115311A1 (en) * | 2001-11-29 | 2003-06-19 | Enigmatec Corporation | Enterprise network infrastructure for mobile users |
US20160065453A1 (en) * | 2014-08-26 | 2016-03-03 | International Business Machines Corporation | Cooperatively managing role based quality of service |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116095016A (en) * | 2021-11-05 | 2023-05-09 | 中国移动通信有限公司研究院 | An information processing method, device, equipment and readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10999735B2 (en) | Controlled recorded 3-way calling | |
US9338194B2 (en) | Video conference service | |
US9351308B2 (en) | Multi-modal communication priority over wireless networks | |
RU2533171C1 (en) | Mobile phone as unidirectional registered transmitter in mobile network | |
CN103024687A (en) | Method and equipment for establishing instant messaging | |
US9307376B2 (en) | Selecting information handling system communication protocol based on network constraints | |
WO2017218017A1 (en) | Method and apparatus for quality of service level assurance in mobile network | |
US9444944B2 (en) | Systems and methods for connecting telephony communications | |
US10149149B2 (en) | Method, system and device for accessing data storage in a telecommunications network | |
US11647098B2 (en) | System and method for providing real-time lockless parallel screen recording compliance enforcement to omni channel cloud systems | |
US20230300037A1 (en) | Event triggered guaranteed service connectivity | |
US10887453B2 (en) | Virtual numbers for intelligence operations | |
US8611865B1 (en) | Methods and apparatus to manage voice message system attributes | |
US9948768B1 (en) | Method and system for accessing call information communicated over a cellular telephone network | |
EP3847797B1 (en) | System for making telephone calls | |
US20160171105A1 (en) | Systems and methods for locating user and account information | |
TWI610580B (en) | Multi-modal communication priority over wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16905668 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16905668 Country of ref document: EP Kind code of ref document: A1 |