[go: up one dir, main page]

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 PDF

Info

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
Application number
PCT/US2016/038226
Other languages
French (fr)
Inventor
Miyuki HANAOKA
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/US2016/038226 priority Critical patent/WO2017218017A1/en
Publication of WO2017218017A1 publication Critical patent/WO2017218017A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling 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/61Scheduling 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic 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

CLAIMS What is claimed is:
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.
PCT/US2016/038226 2016-06-17 2016-06-17 Method and apparatus for quality of service level assurance in mobile network WO2017218017A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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