Dynamic provisioning of a gateway role to user devices
Claim Score by NHIP
Abstract
A system and method of optimizing a mobile traffic network are provided. A local network group comprising a plurality of user devices is created. One of the plurality of the user devices is selected to act as a gateway for the remaining user devices of the local network group. The selected user device is provisioned to act as a gateway for the local network group. A message is sent to the plurality of user devices of the local network group to route communication through the selected user device via a short range wireless communication technology.

Term
10.3 yearsto projected expiry
Projected expiry 3 January 2037, counted from filing; an application has no term until it is granted.
- Priority and filed
- Published
- Today
- Projected expiry
20 claims: 3 independent, 17 dependent
- 1A computing device configured to optimize a mobile traffic network, the computing device comprising:a processor;a network interface communicatively coupled to the processor and configured to enable communications with the mobile traffic network;a storage device;a provisioning application stored in the storage device, wherein execution of the provisioning application by the processor configures the computing device to perform acts comprising: creating a local network group comprising a plurality of user devices;selecting one of the plurality of the user devices to act as a gateway for the plurality of user devices of the local network group;provisioning the selected user device to act as a gateway for the local network group;and sending message to the plurality of user devices of the local network group to route communication through the selected user device via a short range wireless communication technology.
- 12Broadest claimClaim Score 59, broad(NHIP)A non-transitory computer-readable medium having stored thereon a plurality of sequences of instructions which, when executed by a processor, cause the processor to perform a method of optimizing a mobile traffic network, the method comprising:creating a local network group comprising a plurality of user devices;selecting one of the plurality of the user devices to act as a gateway for the plurality of user devices of the local network group;provisioning the selected user device to act as a gateway for the local network group;and sending a message to the plurality of user devices of the local network group to route communication through the selected user device via a short range wireless communication technology.
- 19A computing device, comprising:a processor;a network interface communicatively coupled to the processor and configured to enable communications with the mobile traffic network;a storage device;a self-monitoring application stored in the storage device, wherein execution of the self-monitoring application by the processor configures the computing device to perform acts comprising: determining a status information of the user device based on the following parameters: a short range technology capability;an available processing power;an available memory;a signal strength to a base station of the mobile traffic network;and an available supply power;sending the status information via the network interface over the mobile traffic network to a central server;and receiving an instruction from the central server to be provisioned as a gateway to a plurality of user devices in a local network group
Independent claims3
76 paragraphs in 3 sections, as filed
BACKGROUND
0001In recent years, wireless communications have become increasingly popular. Mobile devices are used to make voice calls, check email and text messages, update social media pages, stream media, browse websites, and so forth. In addition, the internet of things (IoT) may include a network of user devices, vehicles, buildings, etc., that have embedded therein various electronics, software, sensors, actuators, and network connectivity that enable these devices, collectively referred to herein as user devices, to collect and exchange data via wireless communication.
0002In at least one estimate, wireless data traffic has grown 4,000 fold over the past 10 years. As a result, users expect their user devices to provide many functions, including reliably working on a mobile communication network to receive constant and dependable telecommunication and data communication services. The rapid proliferation of wireless networks, mobile computing applications, and IoT's has put additional demands on mobile communication networks. Cell towers that provide access to a mobile traffic network, may be over-burdened the member of user devices that are attempting to communicate via the cell towers simultaneously. As the number of user devices that can communicate over the mobile communication network increases, network operators attempt to find new ways of optimizing channel distribution and other network resources to accommodate the increasing demand.
BRIEF DESCRIPTION OF THE DRAWINGS
0003The detailed description is described with reference to the accompanying figures, in which the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.
0004<figref idref="DRAWINGS">FIG. 1</figref> illustrates an example architecture for implementing a wireless network optimization system to provide a dynamic provisioning of a gateway role to a user device.
0005<figref idref="DRAWINGS">FIG. 2</figref> is a block diagram showing various components of an illustrative user device.
0006<figref idref="DRAWINGS">FIG. 3</figref> illustrates an example scenario where an embodiment of a dynamic provisioning of a gateway role is used.
0007<figref idref="DRAWINGS">FIG. 4</figref> presents an illustrative process for dynamically provisioning a gateway function to a user device.
0008<figref idref="DRAWINGS">FIG. 5</figref> provides a functional block diagram illustration of a computer hardware platform that may be used to implement a dynamic provisioning of a gateway role to a user device.
DETAILED DESCRIPTION
0009In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant teachings. However, it should be apparent to those skilled in the art that the present teachings may be practiced without such details. In other instances, well known methods, procedures, components, and/or circuitry have been described at a relatively high-level, without detail, in order to avoid unnecessarily obscuring aspects of the present teachings.
0010This disclosure generally relates to wireless networks, and more particularly, to optimizing wireless networks by dynamically assigning network roles to user devices. A central server creates a local network group comprising a plurality of user devices. One of the plurality of the user devices is selected to act as a gateway for the remaining user devices of the local network group. The selected user device is provisioned by the central server to act as a gateway for the local network group. The user devices of the local network group route communication through the selected user device via a short range wireless communication technology, which may thereby reduce the probability of dropped calls, disburden the mobile traffic network, and reduce power consumption on the user devices. The techniques described herein may be implemented in a number of ways. Example implementations are provided below with reference to the following figures.
Example Network Architecture
0011<figref idref="DRAWINGS">FIG. 1</figref> illustrates an example architecture for implementing a wireless network optimization system configured to provide a dynamic provisioning of a gateway role to a user device. <figref idref="DRAWINGS">FIG. 1</figref> illustrates a mobile communication network <b>100</b> as may be operated by a mobile communication network carrier or service provider to provide a wide range of mobile communication services and ancillary services or features to its subscriber customers and associated mobile device users. Many of the elements generally indicated by the reference numeral <b>100</b> are elements of the mobile communication network and are operated by or on behalf of the carrier. The mobile communication network <b>100</b> provides communications between various user devices (User devices), such as User devices <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>), as well as communications for the UDs with networks and stations outside the mobile communication network <b>100</b>.
0012For purposes of later discussion, several User devices appear in the drawing, to represent some examples of the devices that may receive various services via the mobile traffic network <b>120</b>. Today, User devices typically take the form of portable handsets, smart-phones, tablet computers, personal digital assistants (PDAs), and smart watches, although they may be implemented in other form factors, including consumer, sensor, and business electronic devices, sometimes referred to as IoT's.
0013The mobile communication network <b>100</b> provides communication for User devices <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>), as well as for mobile devices that do not participate in the dynamic provisioning of a gateway role described herein. Mobile communication network <b>100</b> allows users of the user devices (e.g., customers or subscribers to the mobile traffic network <b>120</b>) to initiate communication, and receive information from the packet data communication network (PDCN) <b>124</b>.
0014The mobile communication network <b>100</b> typically is implemented by a number of interconnected networks. Hence, the overall mobile communication network <b>100</b> may include a number of Mobile traffic networks (RANs) <b>120</b>, as well as regional ground networks interconnecting a number of RANs and a wide area network (WAN) interconnecting the regional ground networks to core network elements, such as the Multimedia Messaging Service Centers (MMSCs). A regional portion of the mobile communication network <b>100</b>, such as that serving User devices <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>) may include one or more RANs (represented by the mobile traffic network <b>120</b>) and a regional circuit and/or packet switched network and associated signaling network facilities.
0015Physical elements of a mobile traffic network <b>120</b>, operated by one of the mobile service providers or carriers, include a number of base stations, represented in the example of <figref idref="DRAWINGS">FIG. 1</figref> by eNodeB <b>104</b>(<b>1</b>) and <b>104</b>(<i>n</i>) nodes. Such eNodeB <b>104</b>(<b>1</b>) to <b>104</b>(<i>n</i>) nodes may include a base transceiver system (BTS) that communicates via an antennae system at the site of the node and over the air-link with one or more of the user devices (<b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>)) when the user devices are within range. Each eNodeB <b>104</b> node may include a BTS coupled to several antennae mounted on a radio tower within a coverage area (e.g., geolocation) often referred to as a “cell.” The BTS is the part of the radio network that sends and receives RE signals to/from the user devices that the eNodeB node <b>104</b> currently serves.
0016The mobile traffic network <b>120</b> carries the user communications for the user devices between the respective eNodeB <b>104</b> nodes and other elements with or through which the user devices communicate. Some individual elements such as switches and/or routers forming the mobile traffic network <b>120</b> are omitted here for simplicity. It will be understood that the various network elements can communicate with each other, as well as other elements of the mobile traffic network <b>120</b>, and other networks (e.g., the public switched telephone network (not shown) and the Internet <b>128</b>) either directly or indirectly.
0017By way of illustrative example only and not limitation, the mobile traffic network <b>120</b> includes elements of the Evolved Packet Core (EPC) and the Evolved Universal Mobile Telecommunications System (UMTS) Terrestrial Access Network (E-UTRAN) and the access network E-UTRAN. For simplicity, classical UMTS architecture elements, such as the UTRAN, are not displayed, while it will be understood that such architectures are supported as well by the teachings herein.
0018The Mobility Management Entity (MME) <b>106</b> is the control node that processes the signaling between the user devices <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>) and the mobile traffic network <b>120</b>. The Home Subscriber Server (HSS) <b>108</b> includes the user device users' subscription data, such as the Evolved Packet System (EPS) subscribed quality of service (QOS) profile and access restrictions for roaming.
0019The serving gateway (S-GW) serves as the local mobility anchor for data bearers when a user device moves between eNodeB's (e.g., from eNodeB <b>104</b>(<b>1</b>) to <b>104</b>(<i>n</i>)). It also retains the information about the bearers when the UE is in the idle state and may temporarily buffer downlink data while the MME <b>106</b> initiates paging of the user device to reestablish the bearers. In addition, the S-GW performs some administrative functions in the mobile traffic network <b>120</b> such as collecting information for charging against an account of a UD. For example, the volume of data routed to or from a user device (e.g., <b>102</b>(<b>4</b>)) over a user device (e.g., <b>102</b>(<b>3</b>)) that is provisioned to operate as a gateway may be calculated, such that an account of the provisioned user device (e.g., <b>102</b>(<b>3</b>)) is not charged for the communication for the user device (e.g., <b>102</b>(<b>4</b>)). The provisioning of a user device is discussed in more detail later. The MME <b>106</b> also may serve as the mobility anchor for interworking with other 3GPP technologies such as general packet radio service (GPRS) and UMTS.
0020The Packet Data Network Gateway (P-GW) <b>112</b> is responsible for IP address allocation for the UD, as well as QoS enforcement and flow-based charging according to rules from the policy charging rules function (PCRF) <b>114</b>. It may filter the downlink user IP packets into the different QoS-based bearers. This is performed based on Traffic Flow Templates (TFTs). The P-GW performs QoS enforcement for guaranteed data rate (GBR) bearers. It should be noted that while a single gateway <b>112</b> is illustrated in <figref idref="DRAWINGS">FIG. 1</figref> for simplicity, different types of gateway servers may be used for different wireless technologies. For example, a high availability (HA) server can be used for 3G; a P-GW server for 4G; general packet radio service core network (GGSN) for 2G, 3G, and wideband code division multiple access (WCDMA); etc. The different types of gateway servers are sometimes collectively referred to herein as gateway server <b>112</b>.
0021The Policy Control and Charging Rules Function (PCRF) <b>114</b> is responsible for policy control decision-making, as well as for controlling the flow-based charging functionalities in the Policy Control Enforcement Function (PCEF), which is in the P-GW <b>112</b>.
0022The service provider of the mobile traffic network <b>120</b> may also operate a number of systems that provide ancillary functions in support of the communications services and/or application services provided through the mobile traffic network <b>120</b>, and those elements communicate with other nodes or elements of the mobile traffic network <b>120</b>, such as one or more private IP type packet data networks based on a packet data communication network (PDCN) <b>124</b>, sometimes referred to as an Intranet a private network). Generally, such systems are part of, or connected for, communication via the PDCN <b>124</b> and may provide additional services such as providing a dynamic provisioning of gateway roles to user devices <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>) over the mobile traffic network <b>120</b>.
0023In the example of <figref idref="DRAWINGS">FIG. 1</figref>, there is a central server <b>130</b> that is configured to communicate with the user devices <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>) the PDCN <b>124</b> and the mobile traffic network <b>120</b>. The central server <b>130</b> can also communicate over the Internet <b>128</b>. In one embodiment, the central server <b>130</b> has a dynamic provisioning engine <b>140</b> (e.g., a software program stored in its memory) to perform various control functions. In various embodiments, the functions of the dynamic provisioning engine <b>140</b> may include determining what user devices (e.g., <b>102</b>(<b>1</b>) to <b>102</b>(<i>n</i>)) can communicate via a wireless local area network (WLAN), a wireless personal area network (WPAN), or a wireless sensor actor network (WSAN), collectively referred to herein as short range wireless communication technology. For example, user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) may communicate with each other, without limitation, over Digital Enhanced Cordless Telecommunications (DECT), Near Field Communication (NFC), ZigBee, Bluetooth, ultra-wideband (UWB), wireless USB, or the like. One advantage of using short range wireless communication technology is that it typically uses less power than direct communication with a base station (e.g., <b>104</b>(N)).
0024The dynamic provisioning engine <b>140</b> of the central server <b>130</b> may create a local network group <b>150</b> based on the user devices that are within the scope of short range wireless communication of each other. For example, upon the dynamic provisioning engine <b>140</b> determining that user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) can communicate with each other over a short range wireless communication technology, the dynamic provisioning engine may regard these user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) as a local network group <b>150</b> that may be used to enhance and/or make more efficient the services of the mobile traffic network <b>120</b>. To that end, the dynamic provisioning engine <b>140</b> may select one of the plurality of user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) to act as a gateway for the remaining user devices. For example, user device <b>102</b>(<b>3</b>) may be provisioned by the dynamic provisioning engine <b>140</b> to be used as a gateway. Put differently, the hardware of the user device <b>102</b>(<b>3</b>) is used to implement the functionality of a networking device that forwards data packets between the local network group <b>150</b> and the mobile traffic network <b>120</b>. Instead of using a separate communication channel between each user device and the base station <b>104</b>(N), which may burden the mobile traffic network <b>120</b>, the user device <b>102</b>(<b>3</b>) is used as a gateway for the remaining the user devices in the local network group <b>150</b>. Thus, a single communication channel between the local network group <b>150</b> (i.e., via the used device <b>102</b>(<b>3</b>) provisioned as a gateway) can accommodate the many user devices <b>102</b>(<b>3</b>) to <b>102</b>(N) in the local network group <b>150</b>. In one embodiment, the user device that is provisioned to act as a gateway (e.g., <b>102</b>(<b>3</b>)) also performs the function of gateway for the same user device <b>102</b>(<b>3</b>). The criteria and process for identifying one or more user devices to be provisioned as a switch are discussed in more detail later.
0025The dynamic provisioning engine <b>140</b> of the central server <b>130</b> may also instruct the remaining user devices (e.g., <b>102</b>(<b>4</b>) to <b>104</b>(<b>7</b>)) to communicate over a short range technology. For example, instead of establishing a communication channel directly with a base station <b>104</b>(N), each of the remaining user devices <b>102</b>(<b>4</b>) to <b>102</b>(<b>7</b>) communicates via short range technology with the user device <b>102</b>(<b>3</b>) that is provisioned as a gateway. In this way, a single communication channel suffices for all user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) in the local network group to communicate over the mobile traffic network <b>120</b> In one embodiment, not all user devices in the local network group <b>150</b> need to subscribe to the mobile traffic network <b>120</b>. For example, one or more devices in the local network group <b>150</b> may be part of other mobile traffic network(s)—not shown However, these user devices may still subscribe to the services discussed herein.
0026In one embodiment, there is a customer relationship management (CRM) server <b>132</b> that offers its account holders (e.g., a user of a UD) on-line access to a variety of functions related to the account holders' account, such as on-line payment information, subscription changes, password control, and the like, in one embodiment, the CRM identifies whether a user device associated with an account of a user is subscribed to the dynamic provisioning of gateway roles discussed herein. The CRM server <b>132</b> may provide the user an interface via the Internet <b>128</b> to access the account information. Hence, a user's terminal, such as personal computer (PC), may be used to access on-line information about an account of a UD, which the carrier of the mobile traffic network <b>120</b> makes available via the carrier's web site, accessible through the Internet <b>128</b>. In various embodiments, the CRM <b>132</b> identifies which user device is responsible for a communication using the mobile traffic network <b>120</b> via the provisioned gateway, such that the provisioned gateway is not charged for a routed communication. In one embodiment, the functionality of the CRM server <b>132</b> may be created on the core network via the HSS <b>108</b> and PCRF <b>114</b>, along with a billing server.
0027For example, if user device <b>102</b>(<b>6</b>) uses the mobile traffic network <b>120</b>, it may communicate using short range wireless communication technology with the user device <b>102</b>(<b>3</b>), which is provisioned as a gateway. The user device <b>102</b>(<b>3</b>) may provide its own identification information and that of user device <b>102</b>(<b>6</b>) to the mobile traffic network <b>120</b>, such that the CRM <b>132</b> can bill the appropriate user device for the communication. In one embodiment, the CRM <b>132</b> offers bonuses to accounts of user devices that are provisioned as gateways.
0028By virtue of using the dynamic provisioning of the network function described herein., the network congestion with respect to the base station <b>104</b>(N) is reduced. Further, the probability of dropped calls is reduced because there are fewer user devices competing for the resources of the mobile traffic network <b>120</b> via the base station <b>102</b>(N). Further, power consumption for the user devices participating in this service may be reduced because communication via short range wireless communication typically uses a fraction of the power consumed via a direct channel to the base station <b>104</b>(N) of the mobile traffic network <b>120</b>. Accordingly, the quality of the service provided to subscribed user devices is improved while the mobile communication network does not have to make a substantial hardware investment; rather, the resources of subscribed user devices are used.
0029While the central server <b>130</b> and the CRM server <b>132</b> are illustrated by way of example as separate servers, they may be implemented on various hardware platform combinations. Thus, the functionality described herein with respect to each of the servers <b>130</b> and <b>132</b> can also be provided by one or multiple different computing devices. In other words, the central server <b>130</b> and the CRM <b>132</b> need not be a stand-alone computing devices but can be combined in various configurations. In one embodiment, the central server <b>130</b> and/or the CRM server <b>132</b> may have a scalable and fault-tolerant architecture, such as that provided by a cloud.
Example User Device Components
0030As discussed in the context of <figref idref="DRAWINGS">FIG. 1</figref>, the dynamic provisioning of gateway roles discussed herein involves an interaction with appropriately configured user devices. To that end, it may be useful to consider the functional elements/aspects of an exemplary user device, at a high-level. For purposes of such a discussion, <figref idref="DRAWINGS">FIG. 2</figref> provides a block diagram illustration of an exemplary user device <b>200</b>. It will be understood that the user device <b>200</b> may be a handset type mobile phone or may be incorporated into another device, such as a personal digital assistant (PDA), a tablet computer, an IoT device, or the like. For discussion purposes, the illustration shows the user device <b>200</b> in the form of a handheld smart-phone.
0031The user device <b>200</b> may include one or more antennae <b>202</b>, a cellular transceiver <b>204</b>, one or more short range wireless communication transceiver(s) <b>205</b>, user interface <b>206</b>, one or more processors <b>208</b>, hardware <b>210</b>, and memory <b>216</b>. In some embodiments, the antennae <b>202</b> include an uplink antenna that sends radio signals to a base station, sometimes referred to herein as an eNodeB or base station (e.g., <b>104</b>(<b>1</b>) in <figref idref="DRAWINGS">FIG. 1</figref>), and a downlink antenna that receives radio signals from the radio tower. In other embodiments, a single antenna may both send and receive radio signals. These signals may be processed by the cellular transceiver <b>204</b>, which is configured to receive and transmit digital data. The one or more short range wireless communication transceivers <b>205</b> may support various short range wireless communication technologies, such as WLAN, WPAN, WSAN, etc.
0032The user device <b>200</b> may include a user interface <b>206</b> that enables a user to provide input and receive output from the user device <b>200</b>. For example, the user interface <b>206</b> may include a data output device (e.g., visual display <b>214</b>, audio speakers, haptic device, etc.,) that may be used to display whether a user device is being provisioned as a gateway, is part of a local network group to conserve the user device and/or mobile traffic network <b>120</b> resources, or is operated in normal de (e.g., outside a dynamic provisioning function). The user interface <b>206</b> may also include one or more data input devices. The data input devices may include, but are not limited to, combinations of one or more of keypads, keyboards, mouse devices, touch screens, microphones, speech recognition packages, and any other suitable devices or other electronic/software selection interfaces that may be used to communicate over the mobile traffic network <b>120</b>.
0033The user device <b>200</b> may include one or more processors <b>208</b>, which may be a single-core processor, a multi-core processor, a complex instruction set computing (CISC) processor, or another type of processor. The hardware may include a power source and digital signal processors (DSPs), which may include single-core or multiple-core processors. The processors may perform operation in parallel to process a stream of data that may be provided over the mobile traffic network <b>120</b>.
0034The hardware <b>210</b> may also include network processors that manage high speed communication interfaces, including communication interfaces that interact with peripheral components. The network processors and the peripheral components may be linked by switching fabric. The hardware may further include hardware decoders and encoders, a network interface controller, and/or a universal serial bus (USB) controller. The network interface controller may enable the processors to transmit and receive data via the mobile traffic network <b>120</b> of <figref idref="DRAWINGS">FIG. 1</figref>. In some embodiments, the hardware may also include a direct memory access (DMA) engine. The DMA engine may enable the various controllers to access the memory <b>216</b> independently of the one or more processors <b>208</b> to perform tasks. The various controllers and processors of the user device <b>200</b> may execute instructions and perform tasks under the direction of software components that are stored in the memory <b>216</b>.
0035The memory <b>216</b> may be implemented using computer-readable media, such as computer storage media. Storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD), high definition video storage disks, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information for access by a computing device.
0036The memory <b>216</b> may store various software components that are executable or accessible by the processor(s) <b>208</b> and controller(s) of the user device <b>200</b>. The various components of the memory <b>216</b> may include software <b>218</b> and an operating system <b>222</b>. Each software module may include routines, program instructions, objects, and/or data structures that perform particular tasks or implement particular abstract data types. For example, the software <b>218</b> of the memory <b>216</b> may include a self-monitoring application <b>220</b> that is operative to receive and follow instructions from the dynamic provisioning engine <b>140</b> of the central server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>. These instructions may include for the user device <b>200</b> to be provisioned as a gateway for a local network group of user devices <b>150</b>, to route communication intended for the mobile traffic network <b>120</b> to a user device (e.g., <b>102</b>(<b>3</b>)) that has been provisioned as a gateway, and/or to solicit a status update to the dynamic provisioning engine <b>140</b>.
0037Accordingly, the self-monitoring application <b>220</b> is configured to evaluate various parameters of the corresponding user device <b>200</b> to provide these parameters in the form of a status of the user device <b>200</b> to the provisioning engine <b>140</b>. For example, the self-monitoring application <b>220</b> may identify the available processing power and the processing load the processor(s) <b>208</b>. In one embodiment, even if the user device <b>200</b> has a large inherent processing power, a low available processing capability may be reported if there are many processes presently running that are slowing down the user device <b>200</b>. Similarly, other parameters, such as the available memory <b>216</b>, signal strength of the cellular transceiver <b>204</b> (and/or the short range wireless communication transceiver(s) <b>205</b>), and the present power supply situation are identified. For example, the user device <b>200</b> may be running off a battery in the hardware <b>210</b>. In this regard, the available percentage of battery power remaining may be identified. If the user device <b>200</b> is connected to an uninterrupted power supply, then this information may be reported in the status report.
0038The self-monitoring application <b>220</b> may also determine what other user devices are in a short range wireless communication technology range. To that end, the self-monitoring application of each participating user device may cooperate to provide their identification information and signal strength. The identification information may include the international mobile station equipment identity (IMEI), mobile identification number (MIN), mobile equipment identifier (MEID), or the like.
0039In various embodiments, the foregoing parameters together with the identification information of the user device <b>220</b> (and other user devices the present user device <b>220</b> is in scope of short range wireless communication with) are reported to the dynamic provisioning engine <b>140</b> of the central server <b>130</b> by the self-monitoring application <b>220</b> in a status data. The status data may be provided at predetermined intervals, upon a trigger event, or upon request from the central server. A trigger event may be a change in status of the user device, such as a reduction in available processing power due to a larger load on the processor(s) <b>208</b>, dropping below a predetermined power threshold (e.g., 20%), being out of range from a present base station or from the local network group <b>150</b>, to initiate a handover, etc. Upon receipt of the status data, the dynamic provisioning engine <b>140</b> assigns a score to the user device <b>200</b>. A handover (e.g., reassignment) of the role of a gateway to another user device and scoring are discussed in more detail later.
0040The operating system <b>222</b> may include components that enable the user device <b>200</b> to receive and transmit data via various interfaces (e.g., user controls, communication interface, and/or memory input/output devices), as well as process data using the processors <b>204</b> to generate output. The operating system <b>222</b> may include a presentation component that presents the output (e.g., display the data on an electronic display <b>214</b> of the user device <b>200</b>, store the data in memory <b>216</b>, transmit the data to another user device (e.g., via a short range wireless communication technology), etc.). Additionally, the operating system <b>222</b> may include other components that perform various additional functions generally associated with an operating system.
Example Use Case
0041With the foregoing overview of an example architecture for implementing a wireless network optimization system of <figref idref="DRAWINGS">FIG. 1</figref> and a block diagram illustration of an exemplary user device of <figref idref="DRAWINGS">FIG. 2</figref>, it may be helpful to provide an example use case. To that end, <figref idref="DRAWINGS">FIG. 3</figref> illustrates an example scenario where user devices are dynamically provisioned the role of a gateway. Consider, for example, a sporting event at a stadium or a large office building with multiple floors. There may be many user devices (represented by user devices <b>302</b>(<b>1</b>) to <b>302</b>(<b>1</b>)) that are configured to communicate over one or more mobile traffic networks, such as mobile traffic network <b>120</b>. Thus, many user devices in a common geolocation may be simultaneously competing with the resources of the mobile traffic network <b>120</b> for communication services. Such burden on the mobile traffic network <b>120</b> may result in a lower quality of communication, such as dropped calls or difficulty accessing the mobile traffic network <b>120</b>.
0042Consider now that each of the user devices <b>302</b>(<b>1</b>) to <b>302</b>(<b>10</b>) depicted in system <b>300</b> is subscribed to the dynamic provisioning of gateway role service discussed herein. To that end, each of the user devices <b>302</b>(<b>1</b>) to <b>302</b>(<b>10</b>) has a self-monitoring application stored in its memory that is configured to report its status to the central server <b>130</b> over the mobile traffic network <b>120</b> at predetermined intervals, upon request, or upon a trigger event. In one embodiment, the status of each user device in its local network group is based on one or more of the following parameters: (i) an available processing power of the user device; (ii) an available memory of the user device; (iii) a signal strength to the base station (e.g., to the mobile traffic network <b>120</b>) of the user device; (iv) an available supply power of the user device; and (v) a short range technology capability of the user device. A score may be assigned to each parameter based on a magnitude of each parameter, respectively.
0043For example, a user device with more available processing power receives a higher score than one that has a slower CPU, has fewer CPU cores, or is identified to be slowed down by multiple processes. Similarly, a unit with more available memory receives a higher score than one that has less available memory. For each user device <b>302</b>(<b>1</b>) to <b>302</b>(<b>10</b>), a total score, referred to herein as a competence score, is calculated by the dynamic provisioning engine <b>140</b> by summing the scores of all parameters for each user device, respectively. In one embodiment, each parameter is weighted based on the significance of the parameter. Thus, the sum may reflect a weighted total score. These status reports and scores may be stored in a memory of the central server <b>130</b>.
0044Upon determining that there is a concentration of user devices in a geolocation (e.g., the event stadium), the dynamic provisioning engine <b>140</b> of the central server <b>130</b> may create two separate local network groups <b>350</b> and <b>360</b> based on the user devices that are within a scope of short range wireless communication of each other. Each of these local network groups <b>350</b> and <b>360</b> may be used to enhance and/or make more efficient the services of the mobile traffic network <b>120</b> for their particular local network group. In one embodiment, if a user device may qualify (e.g., <b>302</b>(<b>5</b>)) to be in either local network group <b>350</b> or <b>360</b> due to being able to communicate in short range wireless communication technology with both local network groups <b>350</b> and <b>360</b>, in various embodiments, such user device (e.g., <b>302</b>(<b>5</b>)) is included in the group based on (i) proximity (e.g., via GPS coordinates) to the other user devices, or (ii) load leveling the number of user devices associated with a provisioned gateway.
0045The dynamic provisioning engine <b>140</b> may select one of the plurality of user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) that has the highest competence score in its local network group (e.g., user device <b>302</b>(<b>1</b>) in local network group <b>350</b>, and user device <b>302</b>(<b>6</b>) in local network group <b>360</b>) to act as a gateway for its respective local network group in this regard, the dynamic provisioning engine may provision the user device <b>302</b>(<b>1</b>) to act as a gateway for the first local network group <b>350</b> and provision the user device <b>302</b>(<b>6</b>) to act as a gateway for the second local network group <b>360</b>. For example, a message may be sent to the self-monitoring application of the user device <b>302</b>(<b>1</b>) to perform a virtualized network function (VNF) of the gateway for the first local network group <b>350</b>. Thus, network functions are implemented in a virtualized manner on the user device <b>302</b>(<b>1</b>), which is used as a commodity computing hardware. Put differently, the function of the gateway functionally is attributed to a selected user device <b>302</b>(<b>1</b>)). Similar action is performed on user device <b>302</b>(<b>6</b>) for the second local network group <b>360</b>.
0046For each local network group <b>350</b> and <b>360</b>, the remaining user devices (i.e., <b>302</b>(<b>2</b>) to <b>302</b>(<b>5</b>) for local network group <b>350</b>, and <b>302</b>(<b>7</b>) to <b>302</b>(<b>10</b>) for local network group <b>2</b>) are instructed by the dynamic provisioning engine <b>140</b> to route communication through the selected user device (<b>302</b>(<b>1</b>) and <b>302</b>(<b>6</b>), respectively) via a short range wireless communication technology.
0047Consider now that the user device <b>302</b>(<b>7</b>) is moved from one area to another. In this regard, the self-monitoring app of the user device <b>302</b>(<b>7</b>) sends a notification to the dynamic provisioning engine <b>140</b>. Upon determining that the user device <b>302</b>(<b>7</b>) is now in scope of short range wireless communication to the first local network group <b>350</b>, the user device <b>302</b>(<b>7</b>) is assigned to the first local network group <b>350</b>. Accordingly, traffic from the user device <b>302</b>(<b>7</b>) may continue via the virtual gateway performed by user device <b>302</b>(<b>1</b>).
0048In one scenario, user device <b>302</b>(<b>6</b>), which has been provisioned in this example as a gateway for the second local network group <b>360</b>, may experience a trigger event. For example, user device <b>302</b>(<b>6</b>) may move out of scope of short range wireless communication from one or more user devices <b>302</b>(<b>7</b>) to <b>302</b>(<b>10</b>), have a reduction in available processing power, go below a predetermined battery power threshold (e.g., 20%), etc.,collectively referred to herein as a failure of the provisioned user device. Upon the dynamic provisioning engine <b>140</b> learning of the new status failure) of the user device <b>302</b>(<b>6</b>) from the self-monitoring application of the user device <b>302</b>(<b>6</b>), the provisioning engine <b>140</b> may perform a handover operation by provisioning the functionality of the gateway to another user device that has the present highest competence score in the local network group (i.e., second local network group <b>360</b> in this example).
Example Call Flow Process
0049With the foregoing overview of the mobile communication network <b>100</b>, the various components of an example user device <b>200</b>, and the example use case <b>300</b>, it may be helpful now to consider a high-level discussion of an example call flow process. To that end, <figref idref="DRAWINGS">FIG. 4</figref> presents an illustrative process <b>400</b> for dynamically provisioning a gateway function to a user device. The process <b>400</b> is illustrated as a logical flow, which represents a sequence of operations that can be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions may include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the process. For discussion purposes, the process <b>400</b> is described with reference to the architecture of the mobile communication network <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref> and the user device of <figref idref="DRAWINGS">FIG. 2</figref>.
0050At block <b>402</b>, the dynamic provisioning engine <b>140</b> of the central server <b>130</b> monitors the network status for one or more geolocations. In one embodiment, each geolocation is associated with a particular base station (e.g., <b>104</b>(<b>1</b>) to <b>104</b>(N)).
0051At block <b>404</b>, the dynamic provisioning engine <b>140</b> determines whether there is network congestion at a geolocation. Congestion may be regarded as operation beyond predetermined network thresholds, such as a more than usual member of user devices communicating via the mobile traffic network <b>120</b> at a geolocation. Upon determining that there is no congestion (i.e., “NO” at decision block <b>404</b>), the process continues with the monitoring mode of block <b>402</b>. However, upon determining that there is congestion a., “YES” at decision block <b>404</b>), the process continues with block <b>406</b>.
0052At block <b>406</b>, the dynamic provisioning engine <b>140</b> receives status reports from user devices in the geolocation. As discussed previously, in various embodiments, a self-monitoring application of each user device that participates in the provisioning service discussed herein may send various parameters together with the identification information of the user device (and other user devices a user device is in scope of short range wireless communication with) to the dynamic provisioning engine <b>140</b>, in the form of a status data. Such status report may be received at predetermined intervals, upon a trigger event, or upon request from the dynamic provisioning engine <b>140</b>. In the example of process <b>400</b>, it is assumed that the status report is requested by the dynamic provisioning engine <b>140</b>.
0053At block <b>408</b>, the dynamic provisioning engine <b>140</b> creates a local network group of user devices <b>260</b> based on the user devices that are within a scope of short range wireless communication of each other, (e.g., <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>)).
0054At block <b>410</b>, the dynamic provisioning engine <b>140</b> selects a user device (e.g., <b>102</b>(<b>3</b>)) from the plurally of user devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) that has the highest competence score in its local network to implement the functionality of a gateway. In some embodiments, if the number of user devices in the local network group <b>150</b> is above a predetermined threshold, then additional user devices (i.e., the ones having the highest competence score(s)) are selected.
0055At block <b>412</b>, the dynamic provisioning engine <b>140</b> provisions the user device <b>102</b>(<b>3</b>) to act as a gateway for the local network group <b>150</b>. To that end, a message is sent to the self-monitoring application of the user device <b>102</b>(<b>3</b>) to perform a VNF of a gateway for the local network group <b>150</b>.
0056At block <b>414</b>, the dynamic provisioning engine <b>140</b> instructs the user devices in the local network group <b>150</b> to (e.g., instead of using a cellular transceiver to communicate over the mobile traffic network <b>120</b>) route all communication via a short range wireless communication technology to the provisioned gateway. In various embodiments, this instruction may be received by each user device <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) in the local network group <b>150</b> directly via a direct connection between a base station (e.g., <b>104</b>(N)) and the corresponding user device or relayed by the selected user device <b>102</b>(<b>3</b>) to the remaining user devices (<b>102</b>(<b>4</b>) to <b>102</b>(<b>7</b>)) via short range wireless communication.
0057Consequently, at block <b>416</b>, all communication of the local network group <b>150</b> is routed through the selected user device <b>102</b>(<b>3</b>), which performs the functionality of a gateway for the local network group <b>150</b>.
0058User devices <b>102</b>(<b>3</b>) to <b>102</b>(<b>7</b>) of the local network group <b>150</b> may change their status over time. In this regard, at block <b>418</b>, the dynamic provisioning engine evaluates whether a trigger event occurs. For example, user <b>102</b>(<b>3</b>), which has been provisioned as a gateway, may move out of scope of short range wireless communication from one or more user devices in the local network group <b>150</b>, have a reduction in available processing power, go below a predetermined battery power threshold (e.g., 20%), a user of the user device <b>102</b>(<b>3</b>) may turn OFF the dynamic provisioning feature, etc. Upon the dynamic provisioning engine <b>140</b> learning of the new status of the user device <b>102</b>(<b>3</b>) from the self-monitoring application of the user device <b>102</b>(<b>3</b>) or not receiving communication from the user device <b>102</b>(<b>3</b>) for a predetermined period (i.e., “YES” at decision block <b>418</b>), the provisioning engine <b>140</b> may continue with block <b>406</b>, which may ultimately lead to a handover operation. However, if there is no trigger event (i.e., “NO” at decision block <b>418</b>), the process continues with block <b>416</b>, where communication continues to be routed through the selected user device <b>102</b>(<b>3</b>).
Example Computer Platform
0059As discussed above, functions relating to providing a dynamic provisioning of a gateway to user devices over a wireless network can be performed on one or more computing devices connected for data communication, as shown in <figref idref="DRAWINGS">FIG. 1</figref> and in accordance with the example process <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref>. An exemplary computing device in the form of a user device <b>102</b> has been discussed above with respect to <figref idref="DRAWINGS">FIG. 2</figref>. <figref idref="DRAWINGS">FIG. 5</figref> provides a functional block diagram illustration of a computer hardware platform. In particular, <figref idref="DRAWINGS">FIG. 5</figref> illustrates a network or host computer platform <b>500</b>, as may be used to implement a server, such as the central server <b>130</b>.
0060A computer configured as a server, for example, includes a data communication interface <b>506</b> for packet data communication. The server computer may include an I/O interface <b>516</b> that may include a display, a touch screen, a keyboard, a pointing device, a microphone, a loudspeaker, and/or any other type of user interface device. The server computer also includes a central processing unit (CPU) <b>502</b>, in the form of one or more processors, for executing program instructions. The server platform may include an internal communication bus <b>504</b>, program storage <b>508</b>, and data storage for various data files to be processed and/or communicated by the server, although the server may receive programming and data via network communications. Data can be stored in various forms of computer-readable media, including (but not limited to) hard disk <b>508</b>, random access memory (RAM) <b>510</b>, read only memory (ROM) <b>512</b>, and the like. The central server has a dynamic provisioning engine <b>509</b> stored in its memory, represented by way of example only and not limitation, as hard disk <b>508</b>.
0061The hardware elements, operating systems and programming languages of such servers are conventional in nature. In one embodiment, the server functions may be implemented in a distributed fashion on a number of similar platforms, to distribute the processing load. In one embodiment, the functionality of the server discussed herein may be combined in one or more server platforms. For example, the functions of the CRM <b>132</b> and the central server <b>130</b> may be performed on the same server (e.g., central server <b>130</b>). In one embodiment, the platform <b>500</b> may have a scalable and fault-tolerant architecture, such as that provided by the cloud.
0062The software functionalities discussed herein involve programming, including executable code as well as associated stored data, e.g., files used for applications on the central server <b>130</b>, such as the dynamic provisioning engine <b>509</b>, as discussed herein.
0063The software code is executable by the corresponding computing device. In operation, the code is stored within the computing device. At other times, however, the software may be stored at other locations and/or transported for loading into the appropriate computing device system. Execution of such code by a processor of the computing device enables the computing device to perform the provisioning of the gateway function to a user device as described herein. Hence, aspects of the methods of optimizing the performance of the mobile traffic network as outlined above may be embodied in programming. Program aspects of the technology may be thought of as “products” or “articles of manufacture” typically in the form of executable code and/or associated data that is carried on or embodied in a type of non-transitory machine readable medium.
Conclusion
0064While the foregoing has described what are considered to be the best mode and/or other examples, it is understood that various modifications may be made therein and that the subject matter disclosed herein may be implemented in various forms and examples, and that the teachings may be applied in numerous applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications and variations that fall within the true scope of the present teachings,
0065It is understood that the dynamic provisioning of a gateway functionality on a user device is performed upon subscriber approval.
0066It is understood that any specific order or hierarchy of steps in the process disclosed in <figref idref="DRAWINGS">FIG. 4</figref> are illustrations of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged, expanded, and some steps omitted. Some of the blocks may be performed simultaneously. For example, the action of receiving status reports from user devices in a geolocation may be performed continuously, at predetermined intervals, upon request from the dynamic provisioning engine <b>140</b>, or upon a trigger event.
0067Unless otherwise stated, all measurements, values, ratings, positions, magnitudes, sizes, and other specifications that are set forth in this specification, including in the claims that follow, are approximate, not exact. They are intended to have a reasonable range that is consistent with the functions to which they relate and with what is customary in the art to which they pertain.
0068Except as stated immediately above, nothing that has been stated or illustrated is intended or should be interpreted to cause a dedication of any component, step, feature, object, benefit, advantage, or equivalent to the public, regardless of whether it is or is not recited in the claims.
0069It will be understood that the terms and expressions used herein have the ordinary meaning as is accorded to such terms and expressions with respect to their corresponding respective areas of inquiry and study except where specific meanings have otherwise been set forth herein. Relational terms such as first and second and the like may be used solely to distinguish one entity or action from another without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “a” or “an” does not, without further constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
0070The Abstract of the Disclosure is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter,
Contents3
6 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US11463389B1 | Cited by | United States of America | Search report |
| US12463978B1 | Cited by | United States of America | Search report |
| US2022217580A1 | Cited by | United States of America | Search report |
| US2019082476A1 | Cited by | United States of America | Search report |
| US2022407826A1 | Cited by | United States of America | Search report |
| US10257165B2 | Cited by | United States of America | Applicant |
| US12047811B2 | Cited by | United States of America | Search report |
| US11419164B2 | Cited by | United States of America | Search report |
| WO2020111988A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US10523748B2 | Cited by | United States of America | Search report |
| US11265214B2 | Cited by | United States of America | Applicant |
| US2022095241A1 | Cited by | United States of America | Search report |
| US2024089226A1 | Cited by | United States of America | Search report |
| US2019199790A1 | Cited by | United States of America | Search report |
| US11870744B2 | Cited by | United States of America | Search report |
| US12113759B2 | Cited by | United States of America | Search report |
| US2019082476A1 | Cited by | United States of America | Search report |
| US10362482B2 | Cited by | United States of America | Applicant |
| US10432461B2 | Cited by | United States of America | Applicant |
| US11563701B2 | Cited by | United States of America | Applicant |
| US11562124B2 | Cited by | United States of America | Applicant |
4 members in 2 offices; this record represents the family
Members4
| Document | Office | Kind | |
|---|---|---|---|
| US2018098230A1 | United States of America | A1 | |
| WO2018064432A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2018064432A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US10616776B2 | United States of America | B2 |
69 transactions on the USPTO file
Allowed after 2 non-final rejections, 2 final rejections and 1 RCE.
- Non-final rejections
- 2
- Final rejections
- 2
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Final ActionA.NE | A.NE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Request for Extension of Time - GrantedXT/G | XT/G | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Email NotificationEML_NTR | EML_NTR | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Email NotificationEML_NTR | EML_NTR | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Application Is Now CompleteCOMP | COMP | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Sent to Classification ContractorPGPC | PGPC | |
| FITF set to YES - revise initial settingFTFS | FTFS | |
| Cleared by OIPE CSRL194 | L194 | |
| Patent Term Adjustment - Ready for ExaminationPTA.RFE | PTA.RFE | |
| PTO/SB/69-Authorize EPO Access to Search ResultsSREXR141 | SREXR141 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity Status Set To Undiscounted (Initial Default Setting or Status Change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
39 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Information on status: patent application and granting procedure in generalPUBLICATIONS -- ISSUE FEE PAYMENT RECEIVEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONSSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE AFTER FINAL ACTION FORWARDED TO EXAMINERSTPP | STPP | |
| Information on status: patent application and granting procedure in generalFINAL REJECTION MAILEDSTPP | STPP | |
| Information on status: patent application and granting procedure in generalRESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINERSTPP | STPP | |
| Information on status: patent application and granting procedure in generalNON FINAL ACTION MAILEDSTPP | STPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 20180098230
- Application
- 15282385
Titles
- English
- DYNAMIC PROVISIONING OF A GATEWAY ROLE TO USER DEVICES
Patent term adjustment
- A delay
- +152 daysthe office missed an examination deadline
- Applicant delay
- −57 days
- Net adjustment
- 95 days
Classification
- CPC, 7
- H04W24/02
- H04W84/20
- H04W4/008
- H04W4/50
- H04W4/08
- H04W28/10
- H04W4/80
- IPC, 4
- H04W24 02
- H04W28 10
- H04W4 08
- H04W4 00