EP3618563A1 - System, method, and device for exposing wireless module data storage - Google Patents
System, method, and device for exposing wireless module data storage Download PDFInfo
- Publication number
- EP3618563A1 EP3618563A1 EP19200895.1A EP19200895A EP3618563A1 EP 3618563 A1 EP3618563 A1 EP 3618563A1 EP 19200895 A EP19200895 A EP 19200895A EP 3618563 A1 EP3618563 A1 EP 3618563A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- data
- module
- data store
- wireless
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000013500 data storage Methods 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004891 communication Methods 0.000 claims abstract description 81
- 238000004590 computer program Methods 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims description 13
- 238000005516 engineering process Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 26
- 230000001276 controlling effect Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Definitions
- This disclosure relates generally to wireless modules and host computing devices. More particularly, but not by way of limitation, the disclosure is related to wireless modules having integrated data storage.
- Wireless modules such as 2G, 3G, 4G, and WiFi wireless modules are often integrated into wide variety of computing devices. Additionally, these wireless modules typically include integrated storage media (e.g., memory), which is used to store instructions for controlling the wireless module, as well as wireless module application generated data.
- Devices that incorporate such wireless modules include any computing device configured for communication over a network, including, but not limited to, machine-to-machine (M2M) devices.
- M2M devices may include many different types of devices that are configured to communicate over wireless and wired networks using a wireless module.
- M2M devices operate over networks such as the Internet and may comprise what is referred to as the Internet of Things (IOT).
- IOT Internet of Things
- the IOT includes various autonomous and/or interconnected, computing devices that serve a wide variety of purposes.
- M2M devices range in size from very large to very small.
- a large-scale M2M device includes a vehicle or a large household appliance
- a small M2M device may include a watch or sensor.
- each device provides one or more functionalities, typically by execution of a host device application.
- a watch device may be configured to provide time keeping functionalities and other ancillary services by way of a host watch application.
- the host device applications may generate host device application data (e.g., user data). In some instances, it may be advantageous to store this user data in a data store.
- portable storage interface may accept, for example, an SD card or other similar storage media that is used for storing host device application data. Removing integrated storage for the host device application reduces the overall size and cost of the M2 M device.
- the present technology is directed to a system, method and device for exposing wireless module storage. More specifically, but not by way of limitation, the present technology includes wireless modules that expose their integrated data storage to other applications and devices.
- a wireless module of the present technology may be configured to expose its wireless module storage through an application programming interface (API).
- API application programming interface
- Devices that incorporate such wireless modules may further include applications that utilize the wireless module storage through the API, such as host device applications that execute on a host computing device.
- the wireless module may be integrated into the host computing device.
- a wireless communication module resides on a host computing device.
- the wireless communication module comprises a processor configured to control the wireless communication module, as well as a memory coupled to the processor for storing computer program instructions.
- the wireless communication module also includes a wireless module data store and an application programming interface that is configured to interface the wireless communication module with a host application residing on the host computing device.
- the API enables the host application to access the wireless module data store in the wireless communication module.
- the wireless communication module further comprises a data storage load module that is configured to receive through the API, requests or user data from the host application.
- the data storage load module is also configured to control the wireless module data store to respond to the requests or store the user data, as well as return responses or requested user data to the API for forwarding to the host application.
- the API is configured to enable the host application to interface with the data storage load module to determine available user space in the wireless module data store, and reserve a portion of the available user space in the wireless module data store.
- the API is configured to enable the host application to interface with the data storage load module to set read/write/delete permissions for reserved user space in the wireless module data store.
- the API is configured to enable the host application to interface with the data storage load module to save the user data in a reserved user space in the wireless module data store or delete user data saved in the reserved user space in the wireless module data store.
- the API is configured to forward user data to a network data store when the API determines that there is no available user space in the wireless module data store.
- the API is configured to enable the host application to interface with the data storage load module to determine available computing capacity of the processor of the wireless communication module, and access by the host application identified available computing capacity of the wireless communication module.
- the API is further configured to transmit user data stored in a reserved user space of the wireless module data store to a network data store.
- the API transmits user data stored in the reserved user space of the wireless module data store to the network data store in an asynchronous manner.
- the present technology is directed to a method for utilizing a wireless module data store of a wireless communication module residing on a host computing device.
- a processor controls the wireless communication module, and the wireless communication module comprises a memory coupled to the processor for storing computer program instructions.
- the method includes receiving by a data storage load module, requests or user data from a host application through an application programming interface (API) of the wireless communication module that resides on the host computing device.
- API application programming interface
- the method also includes controlling, by the data storage load module, the wireless module data store to respond to the requests or store the user data. Additionally, the method includes returning, by the data storage load module, responses or requested user data to the API for forwarding to the host application.
- controlling comprises determining by the data storage load module available user space in the wireless module data store, and reserving, by the data storage load module, a portion of the available user space in the wireless module data store.
- controlling comprises accessing by the data storage load module a reserved user space in the wireless module data store, and setting, by the data storage load module, read/write/delete permissions tor the reserved user space in the wireless module data store.
- controlling comprises saving, by the data storage load module, user data a reserved user space of the wireless module data store, or deleting, by the data storage load module, user data saved in the reserved user space of the wireless module data store.
- controlling comprises retrieving, by the data storage load module, user data stored in a reserved user space of the wireless module data store.
- the method includes transmitting, by the API, user data to a network data store.
- the present technology is directed to a host computing device that includes a host device processor and a host application executing on the host device processor.
- the host computing device also includes a wireless communication module comprising a processor configured to control the wireless communication module, a memory coupled to the processor for storing computer program instructions, and a wireless module data store.
- the wireless module also includes an application programming interface (API) configured to interface the wireless communication module with the host application.
- API application programming interface
- the wireless communication module further comprises a data storage load module configured to receive through the API, requests or user data from the host application, control the wireless module data store to respond to the requests or store the user data, and return responses or requested user data to the API for forwarding.to the host application.
- a data storage load module configured to receive through the API, requests or user data from the host application, control the wireless module data store to respond to the requests or store the user data, and return responses or requested user data to the API for forwarding.to the host application.
- the API is further configured to determine available user space in the wireless module data store and forward user data to an external network data store when the API determines that there is no available user space in the wireless module data store.
- the API is configured to enable the host application to interface with the data storage load module to determine available user space in the wireless module data store and reserve a portion of the available user space of the wireless module data store.
- the API is configured to enable the host application to interface with the data storage load module to access reserved user space in the wireless module data store and set read/write/delete permissions for the reserved user space in the wireless module data store.
- the API is configured to enable the host application to interface with the data storage load module to save the user data m a reserved user space in the wireless module data store or delete user data saved in the reserved user space in the wireless module data store.
- a host computing device may comprise a watch, a pager, a sensor, a cellular telephone, an appliance, a vehicle, or other similar machine-to-machine devices that would be known to one of ordinary skill in the art with the present disclosure before them.
- An exemplary host application comprises any one, or combination, of executable instructions that provide one or more functionalities.
- functionalities for a watch host application may include a clock display functionality, where the watch host application may obtain time information from a central server and display the time information on the display of the watch.
- the watch host application may also provide other ancillary functionalities such as a message display function, where email, Short Message Service (SMS), or other messages are presented on the display of the watch.
- An exemplary functionality may include Global Positioning System (GPS) tracking, where a location of the watch is tracked over time. This user data generated by the GPS tracking functionality may be stored in a reserved space of a wireless module of the host computing device, as will be described in greater detail below.
- GPS Global Positioning System
- a wireless module may comprise 2G, 3G, 4G, and/or WiFi wireless modules, as well as other similar wireless modules.
- a wireless module data store of a wireless module is exposed through an API.
- wireless module manufacturers may expose the API information to host computing device manufacturers to allow the host computing device manufacturers to program their host device applications to utilize the API of the wireless communication module to take advantage of the wireless module data store of the wireless communication module.
- host computing device manufacturers may reduce the need to include dedicated storage for their host application, thereby reducing the host computing device manufacturing, costs.
- the API may couple a host application with a data storage load module of the wireless module to access, evaluate, and manage available and reserved user space in the wireless module data store. Also, the API may allow a host application to store, retrieve, and delete user data in the wireless module data store.
- the data storage load module may also query the wireless module to determine available storage space and reserve a portion of the available storage for the host application.
- a system may include the host computing device and a network data store which are communicatively coupled together via any one or combination of private or public networks, such as the Internet. User data generated by the host application may be stored on or forwarded to the network data store in a synchronous or asynchronous manner.
- the API may also determine excess GPU capacity of a processor of the wireless module.
- the API may be configured to allow the host application to utilize at least a portion of the excess CPU capacity of the wireless module.
- FIG. 1 illustrates an exemplary system 100 that includes a host computing device 105 and a network data store 140.
- User data generated on the host computing device 105 may be transmitted and received by the host computing device 105 over a network, such as the Internet.
- User data may also be stored on, and retrieved from, the network data store 140, as will be discussed in greater detail below.
- the host computing device 105 comprises a host device processor 110A and a host device memory 110B, which stores executable instructions that define the functions and operations of a host application 110.
- the host application 110 may be executed within a host device operating system 110C.
- the host device memory 110B may include read only instructions, or the host device memory 110B may include only enough space to accommodate the host application 110.
- any user data that is generated by the host application 110 may exceed the storage capacity of the host device memory, if any.
- the host application 110 may store its user data in a wireless module data store 130 of a wireless module, such as wireless communication Module 115.
- the wireless communications module 115 may comprise a processor 120 and a memory 125.
- the memory 125 includes a wireless module operating system 125A, as well as an API 135 that is exposed to the host application 110.
- an API may he broadly described as a communication protocol for software components, which are each created with a different programming language. Due to differences in the programming languages used to create the software components, and the protocols employed by both software components, the software components may be unable to interoperate.
- the API is used as a generic interface by these software components to communicate with each one another. Stated otherwise, an API acts as a translator for the software components.
- the API 135 mediates the exchange of requests and transmission of user data between the host application 110 and a data storage load module 145.
- the data storage load module 145 may be configured to receive through the API 135, requests or user data from the host application 110.
- the data storage load module 145 may control the wireless module data store 130 to respond to the requests or store the user data received from the host application 110.
- the data storage load module may return responses or requested user data to the API 135 for forwarding to the host application 110.
- the API 135 acts as an intermediary between the host application and the data storage load module 145.
- module may also refer to any of an application-specific integrated circuit ("ASIC"), an electronic circuit, a processor (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionalities.
- ASIC application-specific integrated circuit
- processor shared, dedicated, or group
- combinational logic circuit and/or other suitable components that provide the described functionalities.
- the data storage load module 145 also controls the management of the wireless module data store 130.
- the data storage load module 145 may be configured to determine available user space in the wireless module data store 130 and reserve a portion of the available user space.
- a reserved portion of available user space may include blocks, sectors, or other reservable portions of the wireless module data store 130 that are reserved for use by the host application 110.
- a reserved user space may be utilized to store user data generated by the host application 110.
- a watch host application may store GPS tracking information for a watch host computing device in the reserved user space of the wireless module data store 130.
- controlling the wireless module data store 130 by the data storage load module 145 may include setting read/write/delete or other similar permissions for a reserved user space 150, where the reserved user space includes at least a portion of the available user space on the wireless module data store 130 that has been reserved for use by the host application 110.
- the data storage load module 145 is configured to allow the host application 110 to save, retrieve, and/or delete user data from the reserved user space 150.
- the API 135 may be configured to enable the host application 110 to interface with the data storage load module 145 to determine available computing capacity of the processor 120 of the wireless communication module 115.
- the API 135 may also allow access to the available computing capacity of the processor 120 of the wireless communication module 115.
- the API 135 may allow the host application 110 to utilize excess processing capacity of the wireless communication module 115.
- the processor 120 may dedicate processing cycles, threads, and/or one or more CPU cores (when the processor 120 is a multicore processor).
- FIG. 2A is a signal flow diagram of a method of controlling a wireless module data store, the diagram illustrating a request to reserve space and a response indicative of a failure to reserve space.
- the host application 110 transmits a reserve space request to the API 135, which forwards the request to the data storage load module 145 of the wireless communication module 115.
- the request may specify an amount of space that is required by the host application 110.
- the amount of space requested may he defined by a size or volume of the user data that is generated by the host application 110.
- the amount of space requested may include a predetermined space size that is defined by the host application 110 developer.
- the data storage load module 145 determines any available user space in the wireless module data store 130. If there is no available user space in the wireless module data store 130, the wireless module data store 130 informs the data storage load module 145 of the lack of available storage space. The data storage load module 145 then transmits a reserve failure message to the API 135, which forwards the same to the host application 110. A failure message may also be returned if the wireless module data store 130 is unable to process the request received from the data storage load module 145.
- FIG. 2B is a signal flow diagram of a method of accessing a wireless module data store 130, where space is successfully reserved and user data is successfully saved in the wireless module data store.
- the host application 110 sends a reserve request message to the data storage load module 145.
- the data storage load module 145 reserves a portion of the available user space in the wireless module data store 130. More specifically, a reserved user space 150 (also see FIG. 1 ) is created and a location pointer is defined for the reserved user space 150. It will he understood that the location pointer for the reserved user space 150 may specify blocks, sectors, or other locations of the wireless module data store 130 that are reserved for use by the host application 110. That is, the location pointer uniquely identifies the reserved user space 150 within the wireless module data store 130. In some instances, the location pointer may include an offset and a length for the reserved user space 150. The location pointer is returned back to the host application 110 for future user data access/save/retrieve/delete operations.
- FIG. 2B also illustrates an operation of saving of data to the wireless module data store 130 by the host application 110.
- the host application 110 transmits a save data request to the API 135.
- the save data request comprises not only the user data generated by the host application 110, but also the location pointer received from the data storage load module 145.
- the data storage load module 145 then stores the user data in the reserved user space 150 that is defined by the location pointer.
- FIG. 2C is a signal flow diagram of a method of accessing a wireless module data store 130, where user data is retrieved from the wireless module data store 130.
- the host application 110 transmits a retrieve data request, along with the location pointer to the data storage load module 145 via the API 135.
- the data storage load module 145 obtains the requested user data from the reserved user space 150 using the location pointer. Once the data storage load module 145 obtains the requested data, the data storage load module 145 transmits the retrieved user data back to the host application 110 via the API 135.
- FIG. 2D is a signal flow diagram of a method of accessing a wireless module data store 130. where user data is successfully deleted from the wireless module data store 130. To delete previously stored user data from a reserved user space 150, the host application 110 transmits a delete data request, along with the location pointer to the data storage load module 145 via the API 135.
- the data storage load module 145 deletes the requested user data from the reserved user space 150, referenced by the location pointer. Once the data storage load module 145 deletes the requested data, the data storage load module 145 transmits a successful deletion message back to the host application 110 via the API 135.
- FIG. 2E is a signal flow diagram of a method of storing user data on a network data store 140.
- the method of FIG, 2E is similar to the method illustrated in FIG. 2B , where data is successfully saved in the reserved user space 150 of the wireless module data store 130. Additionally, the method illustrated in FIG. 2E illustrates the data storage load module 145 transmitting saved stored data to a network data store 140.
- the data storage load module 145 and the network data store 140 may engage in similar user space establishment and control procedures as those utilized by the data storage load module 145 to establish a reserved user space 150 on the wireless module data store 130, as well as data retrieval, deletion, and other similar operations.
- the network storage process illustrated in FIG. 2E may occur synchronously, where the data storage load module 145 transmits user data to the network data store 140 when the user data is generated by the host application 110, or in parallel with storing the user data in the reserved user space 150.
- the network storage process may occur asynchronously, where the data storage load module 145 batches user data in the reserved user space 150 and transmits the batched user data to the network data store 140 at a later point in time.
- user data may be transmitted by the data storage load module 145 to the network data store 140 according to a schedule.
- the data storage load module 145 may be configured to transmit stored user data to the network data store during off peak periods.
- the schedule may specify that the data storage load module 145 is to transmit the stored user data to the network data store 140 at a time at which the host application 110 is experiencing reduced usage.
- the transmission times may be related to current or expected network bandwidth.
- FIG. 2F is a signal flow diagram of a method of storing user data on a network data store when user data cannot be stored on the wireless module data store.
- the method illustrated in FIG. 2F is similar to the method illustrated in FIG. 2A , with the exception that user data generated by the host application 110 is forwarded to the network data store 140. More specifically, upon the host application 110 receiving notification that a request to reserve user space has been denied, the host application 110 may transmit a message to the API 135 that informs the data storage load module 145 that user data should be stored on the network data store 140.
- FIG. 3 is a flowchart of an exemplary method for utilizing a wireless module data store 130 of a wireless communication module 115 that resides on a host computing device 105.
- the wireless communication module 115 is controlled by a processor 120.
- the wireless communication module 115 includes a memory 125 coupled to the processor 120 for storing computer program instructions. Exemplary instructions include the wireless module operating system 125A and the data storage load module 145.
- the method is shown as including receiving 305 by a data storage load module 145, requests or user data from a host application 110 through an application programming interface (API) 135 of the wireless communication module 115 residing on the host computing device 105. Additionally, the method includes controlling 310 by the data storage load module 145, the wireless module data store 130 to respond to the requests or store the user data. In some embodiments, the method also includes returning 315 by the data storage load module 145, responses or requested user data to the API 135 for forwarding to the host application 110.
- API application programming interface
- FIG. 4 illustrates a variety of control sub-methods that may be executed in conjunction with the method described in FIG. 3 . More specifically, the various control sub-methods of FIG. 4 are associated with the controlling 310 operation of FIG. 3 .
- controlling may comprise determining 405 by the data storage load module 145 available user space in the wireless module data store 130, as well as reserving 410 by the data storage load module 145 a portion of the available user space in the wireless module data store 130. Again, this portion of the available user space is referred to as the reserved user space 150.
- FIG. 4 also illustrates several alternative control sub-methods 415-425 that may be executed subsequent to establishing the reserved user space 150 by the data storage load module 145.
- Step 405 includes determining, by the data storage load module 145, available user space in the wireless module data store 130. After determining available user space in the wireless module data store 130, the method includes reserving 410, by the data storage load module 145, a portion of the available user space in the wireless module data store 130. In relation to FIG. 3 , it will be understood that the steps of determining and reserving (405 and 410) of FIG. 4 may be executed prior to the step 305 of receiving by a data storage load module 145, requests or user data from a host application 110 through an application programming interface (API) 135 of the wireless communication module 115.
- API application programming interface
- the alternative control sub-methods 415-425 may comprise specific methods of the controlling 310 step of FIG. 3 . That is, each of the alternative control sub-methods 415-425 may be independently executed by the data storage load module 145.
- a control sub-method for the data storage load module 145 may include setting 415, by the data storage load module 145, read/write/delete permissions for the reserved user space 150 in the wireless module data store 130. Also, the method may include saving 425 by the data storage load module 145, user data a reserved user space 150 of the wireless module data store 130.
- a control sub-method for the data storage load module 145 may include accessing 420, by the data storage load module 145, a reserved user space 150 in the wireless module data store 130. In some instances, subsequent to accessing 420 the reserved user space 150, the control sub-method may include retrieving 430 by the data storage load module 145, user data stored in the reserved user space 150 of the wireless module data store 130.
- a control sub-method for the data storage load module 145 may include saving 425 user data a reserved user space 150 of the wireless module data store 130 may occur before deleting 435 by the data storage load module 145, user data saved in the reserved user space 150 of the wireless module data store 130.
- FIG. 5 is a flowchart of a method for storing or forwarding user data generated by the host application 110 to a network data store 140.
- the method includes interfacing 500 by an API 135, the wireless communication module 115 with a host application 110.
- the host application 110 may include an application for a watch, pager, or sensor, or other host application required for use with the host computing device 105.
- the method includes receiving 505 by a data storage load module 145, requests or user data from the host application 10 through the API 135, as well as controlling 510 by the data storage load module 145, the wireless module data store 130 to respond to requests or store the user data.
- the method optionally includes forwarding 515 by the API 135, user data to a network data store 140.
- the method optionally includes transmitting 520, user data stored in a reserved user space 150 to the network data store 140.
- Computer-readable storage media refer to jury medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media may take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively.
- Computer program code for carrying out operations for aspects of the present technology may be written in any combination of one or more programming languages, including an object oriented programming language, conventional procedural programming languages, or similar programming languages.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
- the remote computer may be coupled with the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may he made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
- Embodiments of the present technology are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present technology. It will he understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- the computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to he performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, m fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- This disclosure relates generally to wireless modules and host computing devices. More particularly, but not by way of limitation, the disclosure is related to wireless modules having integrated data storage.
- Wireless modules, such as 2G, 3G, 4G, and WiFi wireless modules are often integrated into wide variety of computing devices. Additionally, these wireless modules typically include integrated storage media (e.g., memory), which is used to store instructions for controlling the wireless module, as well as wireless module application generated data. Devices that incorporate such wireless modules include any computing device configured for communication over a network, including, but not limited to, machine-to-machine (M2M) devices. In general, M2M devices may include many different types of devices that are configured to communicate over wireless and wired networks using a wireless module. M2M devices operate over networks such as the Internet and may comprise what is referred to as the Internet of Things (IOT). Generally, the IOT includes various autonomous and/or interconnected, computing devices that serve a wide variety of purposes.
- M2M devices range in size from very large to very small. For example, a large-scale M2M device includes a vehicle or a large household appliance, whereas a small M2M device may include a watch or sensor. Regardless of the size of the device, each device provides one or more functionalities, typically by execution of a host device application. For example, a watch device may be configured to provide time keeping functionalities and other ancillary services by way of a host watch application. During operation, the host device applications) may generate host device application data (e.g., user data). In some instances, it may be advantageous to store this user data in a data store.
- It will be understood that manufacturers often incorporate a portable storage interface into the M2M device, rather than integrating a storage media into a small M2M computing device, lire portable storage interface may accept, for example, an SD card or other similar storage media that is used for storing host device application data. Removing integrated storage for the host device application reduces the overall size and cost of the M2 M device.
- According to some embodiments, the present technology is directed to a system, method and device for exposing wireless module storage. More specifically, but not by way of limitation, the present technology includes wireless modules that expose their integrated data storage to other applications and devices. A wireless module of the present technology may be configured to expose its wireless module storage through an application programming interface (API). Devices that incorporate such wireless modules may further include applications that utilize the wireless module storage through the API, such as host device applications that execute on a host computing device. The wireless module may be integrated into the host computing device.
- In one embodiment, a wireless communication module resides on a host computing device. The wireless communication module comprises a processor configured to control the wireless communication module, as well as a memory coupled to the processor for storing computer program instructions. The wireless communication module also includes a wireless module data store and an application programming interface that is configured to interface the wireless communication module with a host application residing on the host computing device. The API enables the host application to access the wireless module data store in the wireless communication module.
- In one embodiment, the wireless communication module further comprises a data storage load module that is configured to receive through the API, requests or user data from the host application. The data storage load module is also configured to control the wireless module data store to respond to the requests or store the user data, as well as return responses or requested user data to the API for forwarding to the host application.
- In another embodiment the API is configured to enable the host application to interface with the data storage load module to determine available user space in the wireless module data store, and reserve a portion of the available user space in the wireless module data store.
- In another embodiment, the API is configured to enable the host application to interface with the data storage load module to set read/write/delete permissions for reserved user space in the wireless module data store.
- In another embodiment, the API is configured to enable the host application to interface with the data storage load module to save the user data in a reserved user space in the wireless module data store or delete user data saved in the reserved user space in the wireless module data store.
- In one embodiment, the API is configured to forward user data to a network data store when the API determines that there is no available user space in the wireless module data store.
- In another embodiment the API is configured to enable the host application to interface with the data storage load module to determine available computing capacity of the processor of the wireless communication module, and access by the host application identified available computing capacity of the wireless communication module.
- In one embodiment, the API is further configured to transmit user data stored in a reserved user space of the wireless module data store to a network data store.
- In another embodiment, the API transmits user data stored in the reserved user space of the wireless module data store to the network data store in an asynchronous manner.
- In one embodiment, the present technology is directed to a method for utilizing a wireless module data store of a wireless communication module residing on a host computing device. A processor controls the wireless communication module, and the wireless communication module comprises a memory coupled to the processor for storing computer program instructions. The method includes receiving by a data storage load module, requests or user data from a host application through an application programming interface (API) of the wireless communication module that resides on the host computing device.
- The method also includes controlling, by the data storage load module, the wireless module data store to respond to the requests or store the user data. Additionally, the method includes returning, by the data storage load module, responses or requested user data to the API for forwarding to the host application.
- In one embodiment, controlling comprises determining by the data storage load module available user space in the wireless module data store, and reserving, by the data storage load module, a portion of the available user space in the wireless module data store.
- In one embodiment, controlling comprises accessing by the data storage load module a reserved user space in the wireless module data store, and setting, by the data storage load module, read/write/delete permissions tor the reserved user space in the wireless module data store.
- In another embodiment, controlling comprises saving, by the data storage load module, user data a reserved user space of the wireless module data store, or deleting, by the data storage load module, user data saved in the reserved user space of the wireless module data store.
- In one embodiment, controlling comprises retrieving, by the data storage load module, user data stored in a reserved user space of the wireless module data store.
- In another embodiment, the method includes transmitting, by the API, user data to a network data store.
- In one embodiment, the present technology is directed to a host computing device that includes a host device processor and a host application executing on the host device processor. The host computing device also includes a wireless communication module comprising a processor configured to control the wireless communication module, a memory coupled to the processor for storing computer program instructions, and a wireless module data store. The wireless module also includes an application programming interface (API) configured to interface the wireless communication module with the host application. The API enables the host application to access the wireless module data store.
- In one embodiment the wireless communication module further comprises a data storage load module configured to receive through the API, requests or user data from the host application, control the wireless module data store to respond to the requests or store the user data, and return responses or requested user data to the API for forwarding.to the host application.
- In another embodiment, the API is further configured to determine available user space in the wireless module data store and forward user data to an external network data store when the API determines that there is no available user space in the wireless module data store.
- In one embodiment, the API is configured to enable the host application to interface with the data storage load module to determine available user space in the wireless module data store and reserve a portion of the available user space of the wireless module data store.
- In another embodiment, the API is configured to enable the host application to interface with the data storage load module to access reserved user space in the wireless module data store and set read/write/delete permissions for the reserved user space in the wireless module data store.
- In one embodiment, the API is configured to enable the host application to interface with the data storage load module to save the user data m a reserved user space in the wireless module data store or delete user data saved in the reserved user space in the wireless module data store.
- Certain embodiments of the present technology are illustrated by the accompanying figures. It will be understood that the figures are not necessarily to scale and that details not necessary for an understanding of the technology or that render other details difficult to perceive may be omitted. It will be understood that the technology is not necessarily limited to the particular embodiments illustrated herein.
-
FIG. 1 is a schematic diagram of a system having a host computing device that includes a wireless communication module that is configured to practice aspects of the present technology. -
FIG. 2A is a signal flow diagram of a method of controlling a wireless module data store, the diagram illustrating a request to reserve space and a response indicative of a failure to reserve space. -
FIG. 2B is a signal flow diagram of a method of controlling a wireless module data store, where space is successfully reserved and user data is successfully saved in the wireless module data store. -
FIG. 2C is a signal flow diagram of a method of controlling a wireless module data store, where user data is retrieved from the wireless module data store. -
FIG. 2D is a signal flow diagram of a method of controlling a wireless module data store, where user data is successfully deleted from the wireless module data store. -
FIG. 2E is a signal flow diagram of a method of storing user data on a network data store. -
FIG. 2F is a signal flow diagram of a method of storing user data on a network data store when user data cannot be stored on the wireless module data store. -
FIG. 3 is a flowchart of a method for utilizing a wireless module data store of a wireless communication module residing on a host computing device. -
FIG. 4 is a flowchart of a plurality of control sub-methods for accessing and using a wireless module data store, including setting permissions for a reserved user space, as well as saving, retrieving, or deleting user data. -
FIG. 5 is a flowchart of a method of transmitting or forwarding user data from a wireless module data store to a network data store. - While this technology is susceptible of embodiment in many different forms, there is shown in the drawings and will herein be described in detail several specific embodiments with the understanding that the present disclosure is to be considered as an exemplification of the principles of the technology and is not intended to limit the technology to the embodiments illustrated.
- The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present technology. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/ or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
- It will be understood that like or analogous elements and/or components, referred to herein, may be identified throughout the drawings with like reference characters. It will be further understood that several of the figures are merely schematic representations of the present technology. As such, some of the components may have been distorted from their actual scale for pictorial clarity.
- Generally, the present technology is directed to a system, method, and device for exposing data storage of a wireless module to host applications of a host computing device. By way of non-limiting examples, a host computing device may comprise a watch, a pager, a sensor, a cellular telephone, an appliance, a vehicle, or other similar machine-to-machine devices that would be known to one of ordinary skill in the art with the present disclosure before them. An exemplary host application comprises any one, or combination, of executable instructions that provide one or more functionalities. For example, functionalities for a watch host application may include a clock display functionality, where the watch host application may obtain time information from a central server and display the time information on the display of the watch. The watch host application may also provide other ancillary functionalities such as a message display function, where email, Short Message Service (SMS), or other messages are presented on the display of the watch. An exemplary functionality may include Global Positioning System (GPS) tracking, where a location of the watch is tracked over time. This user data generated by the GPS tracking functionality may be stored in a reserved space of a wireless module of the host computing device, as will be described in greater detail below.
- In accordance with the present disclosure, a wireless module may comprise 2G, 3G, 4G, and/or WiFi wireless modules, as well as other similar wireless modules.
- In some embodiments, a wireless module data store of a wireless module is exposed through an API. In some instances, wireless module manufacturers may expose the API information to host computing device manufacturers to allow the host computing device manufacturers to program their host device applications to utilize the API of the wireless communication module to take advantage of the wireless module data store of the wireless communication module. Thus, host computing device manufacturers may reduce the need to include dedicated storage for their host application, thereby reducing the host computing device manufacturing, costs.
- In some embodiments, the API may couple a host application with a data storage load module of the wireless module to access, evaluate, and manage available and reserved user space in the wireless module data store. Also, the API may allow a host application to store, retrieve, and delete user data in the wireless module data store.
- The data storage load module may also query the wireless module to determine available storage space and reserve a portion of the available storage for the host application. In some instances, a system may include the host computing device and a network data store which are communicatively coupled together via any one or combination of private or public networks, such as the Internet. User data generated by the host application may be stored on or forwarded to the network data store in a synchronous or asynchronous manner.
- In some embodiments, the API may also determine excess GPU capacity of a processor of the wireless module. The API may be configured to allow the host application to utilize at least a portion of the excess CPU capacity of the wireless module.
-
FIG. 1 illustrates anexemplary system 100 that includes a host computing device 105 and anetwork data store 140. User data generated on the host computing device 105 may be transmitted and received by the host computing device 105 over a network, such as the Internet. User data may also be stored on, and retrieved from, thenetwork data store 140, as will be discussed in greater detail below. - Generally, the host computing device 105 comprises a
host device processor 110A and ahost device memory 110B, which stores executable instructions that define the functions and operations of ahost application 110. In some instances, thehost application 110 may be executed within a host device operating system 110C. It will be understood that in some instances, thehost device memory 110B may include read only instructions, or thehost device memory 110B may include only enough space to accommodate thehost application 110. - Indeed, any user data that is generated by the
host application 110 may exceed the storage capacity of the host device memory, if any. In accordance with the present disclosure, if the host computing device 105 is without additional data storage space, thehost application 110 may store its user data in a wirelessmodule data store 130 of a wireless module, such as wireless communication Module 115. - In some embodiments, the wireless communications module 115 may comprise a
processor 120 and amemory 125. Thememory 125 includes a wireless module operating system 125A, as well as anAPI 135 that is exposed to thehost application 110. As background, an API may he broadly described as a communication protocol for software components, which are each created with a different programming language. Due to differences in the programming languages used to create the software components, and the protocols employed by both software components, the software components may be unable to interoperate. The API is used as a generic interface by these software components to communicate with each one another. Stated otherwise, an API acts as a translator for the software components. - In some embodiments, the
API 135 mediates the exchange of requests and transmission of user data between thehost application 110 and a datastorage load module 145. For example, the datastorage load module 145 may be configured to receive through theAPI 135, requests or user data from thehost application 110. Also, the datastorage load module 145 may control the wirelessmodule data store 130 to respond to the requests or store the user data received from thehost application 110. Additionally, the data storage load module may return responses or requested user data to theAPI 135 for forwarding to thehost application 110. Thus, theAPI 135 acts as an intermediary between the host application and the datastorage load module 145. - As used herein, the term "module" may also refer to any of an application-specific integrated circuit ("ASIC"), an electronic circuit, a processor (shared, dedicated, or group) that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionalities.
- The data
storage load module 145 also controls the management of the wirelessmodule data store 130. With regard to management of the wirelessmodule data store 130, the datastorage load module 145 may be configured to determine available user space in the wirelessmodule data store 130 and reserve a portion of the available user space. A reserved portion of available user space may include blocks, sectors, or other reservable portions of the wirelessmodule data store 130 that are reserved for use by thehost application 110. A reserved user space may be utilized to store user data generated by thehost application 110. Returning to the example provided above, a watch host application may store GPS tracking information for a watch host computing device in the reserved user space of the wirelessmodule data store 130. - In some instances, controlling the wireless
module data store 130 by the datastorage load module 145 may include setting read/write/delete or other similar permissions for a reserveduser space 150, where the reserved user space includes at least a portion of the available user space on the wirelessmodule data store 130 that has been reserved for use by thehost application 110. - In other embodiments, the data
storage load module 145 is configured to allow thehost application 110 to save, retrieve, and/or delete user data from the reserveduser space 150. - In addition to utilizing available storage space of the wireless communication module 115, the
API 135 may be configured to enable thehost application 110 to interface with the datastorage load module 145 to determine available computing capacity of theprocessor 120 of the wireless communication module 115. TheAPI 135 may also allow access to the available computing capacity of theprocessor 120 of the wireless communication module 115. Thus, in addition to utilizing excess storage of the wireless module data sore 130, theAPI 135 may allow thehost application 110 to utilize excess processing capacity of the wireless communication module 115. For example, theprocessor 120 may dedicate processing cycles, threads, and/or one or more CPU cores (when theprocessor 120 is a multicore processor). - The signal flow diagrams of
FIGS. 2A-2F collectively illustrate various operations that exemplify the aforementioned control and management features.FIG. 2A is a signal flow diagram of a method of controlling a wireless module data store, the diagram illustrating a request to reserve space and a response indicative of a failure to reserve space. Thehost application 110 transmits a reserve space request to theAPI 135, which forwards the request to the datastorage load module 145 of the wireless communication module 115. The request may specify an amount of space that is required by thehost application 110. In some instances, the amount of space requested may he defined by a size or volume of the user data that is generated by thehost application 110. In other embodiments, the amount of space requested may include a predetermined space size that is defined by thehost application 110 developer. - The data
storage load module 145 then determines any available user space in the wirelessmodule data store 130. If there is no available user space in the wirelessmodule data store 130, the wirelessmodule data store 130 informs the datastorage load module 145 of the lack of available storage space. The datastorage load module 145 then transmits a reserve failure message to theAPI 135, which forwards the same to thehost application 110. A failure message may also be returned if the wirelessmodule data store 130 is unable to process the request received from the datastorage load module 145. - In contrast,
FIG. 2B is a signal flow diagram of a method of accessing a wirelessmodule data store 130, where space is successfully reserved and user data is successfully saved in the wireless module data store. - Similarly to
FIG. 2A , thehost application 110 sends a reserve request message to the datastorage load module 145. After the datastorage load module 145 determines that there is indeed available storage space on the wirelessmodule data store 130, the datastorage load module 145 reserves a portion of the available user space in the wirelessmodule data store 130. More specifically, a reserved user space 150 (also seeFIG. 1 ) is created and a location pointer is defined for the reserveduser space 150. It will he understood that the location pointer for the reserveduser space 150 may specify blocks, sectors, or other locations of the wirelessmodule data store 130 that are reserved for use by thehost application 110. That is, the location pointer uniquely identifies the reserveduser space 150 within the wirelessmodule data store 130. In some instances, the location pointer may include an offset and a length for the reserveduser space 150. The location pointer is returned back to thehost application 110 for future user data access/save/retrieve/delete operations. -
FIG. 2B also illustrates an operation of saving of data to the wirelessmodule data store 130 by thehost application 110. In some embodiments, thehost application 110 transmits a save data request to theAPI 135. The save data request comprises not only the user data generated by thehost application 110, but also the location pointer received from the datastorage load module 145. The datastorage load module 145 then stores the user data in the reserveduser space 150 that is defined by the location pointer. -
FIG. 2C is a signal flow diagram of a method of accessing a wirelessmodule data store 130, where user data is retrieved from the wirelessmodule data store 130. To obtain previously stored user data from a reserveduser space 150, thehost application 110 transmits a retrieve data request, along with the location pointer to the datastorage load module 145 via theAPI 135. - The data
storage load module 145 obtains the requested user data from the reserveduser space 150 using the location pointer. Once the datastorage load module 145 obtains the requested data, the datastorage load module 145 transmits the retrieved user data back to thehost application 110 via theAPI 135. -
FIG. 2D is a signal flow diagram of a method of accessing a wirelessmodule data store 130. where user data is successfully deleted from the wirelessmodule data store 130. To delete previously stored user data from a reserveduser space 150, thehost application 110 transmits a delete data request, along with the location pointer to the datastorage load module 145 via theAPI 135. - The data
storage load module 145 deletes the requested user data from the reserveduser space 150, referenced by the location pointer. Once the datastorage load module 145 deletes the requested data, the datastorage load module 145 transmits a successful deletion message back to thehost application 110 via theAPI 135. -
FIG. 2E is a signal flow diagram of a method of storing user data on anetwork data store 140. The method ofFIG, 2E is similar to the method illustrated inFIG. 2B , where data is successfully saved in the reserveduser space 150 of the wirelessmodule data store 130. Additionally, the method illustrated inFIG. 2E illustrates the datastorage load module 145 transmitting saved stored data to anetwork data store 140. Although not shown, the datastorage load module 145 and thenetwork data store 140 may engage in similar user space establishment and control procedures as those utilized by the datastorage load module 145 to establish a reserveduser space 150 on the wirelessmodule data store 130, as well as data retrieval, deletion, and other similar operations. - It will be understood that the network storage process illustrated in
FIG. 2E may occur synchronously, where the datastorage load module 145 transmits user data to thenetwork data store 140 when the user data is generated by thehost application 110, or in parallel with storing the user data in the reserveduser space 150. Alternatively, the network storage process may occur asynchronously, where the datastorage load module 145 batches user data in the reserveduser space 150 and transmits the batched user data to thenetwork data store 140 at a later point in time. - In some embodiments, user data may be transmitted by the data
storage load module 145 to thenetwork data store 140 according to a schedule. For example, the datastorage load module 145 may be configured to transmit stored user data to the network data store during off peak periods. By way of a non-limiting example, if thehost application 110 actively operates and generates user data during specific periods of time, the schedule may specify that the datastorage load module 145 is to transmit the stored user data to thenetwork data store 140 at a time at which thehost application 110 is experiencing reduced usage. Also, the transmission times may be related to current or expected network bandwidth. -
FIG. 2F is a signal flow diagram of a method of storing user data on a network data store when user data cannot be stored on the wireless module data store. The method illustrated inFIG. 2F is similar to the method illustrated inFIG. 2A , with the exception that user data generated by thehost application 110 is forwarded to thenetwork data store 140. More specifically, upon thehost application 110 receiving notification that a request to reserve user space has been denied, thehost application 110 may transmit a message to theAPI 135 that informs the datastorage load module 145 that user data should be stored on thenetwork data store 140. -
FIG. 3 is a flowchart of an exemplary method for utilizing a wirelessmodule data store 130 of a wireless communication module 115 that resides on a host computing device 105. The wireless communication module 115 is controlled by aprocessor 120. As mentioned previously, the wireless communication module 115 includes amemory 125 coupled to theprocessor 120 for storing computer program instructions. Exemplary instructions include the wireless module operating system 125A and the datastorage load module 145. - In some embodiments, the method is shown as including receiving 305 by a data
storage load module 145, requests or user data from ahost application 110 through an application programming interface (API) 135 of the wireless communication module 115 residing on the host computing device 105. Additionally, the method includes controlling 310 by the datastorage load module 145, the wirelessmodule data store 130 to respond to the requests or store the user data. In some embodiments, the method also includes returning 315 by the datastorage load module 145, responses or requested user data to theAPI 135 for forwarding to thehost application 110. -
FIG. 4 illustrates a variety of control sub-methods that may be executed in conjunction with the method described inFIG. 3 . More specifically, the various control sub-methods ofFIG. 4 are associated with the controlling 310 operation ofFIG. 3 . In some embodiments, controlling may comprise determining 405 by the datastorage load module 145 available user space in the wirelessmodule data store 130, as well as reserving 410 by the data storage load module 145 a portion of the available user space in the wirelessmodule data store 130. Again, this portion of the available user space is referred to as the reserveduser space 150. -
FIG. 4 also illustrates several alternative control sub-methods 415-425 that may be executed subsequent to establishing the reserveduser space 150 by the datastorage load module 145. - Step 405 includes determining, by the data
storage load module 145, available user space in the wirelessmodule data store 130. After determining available user space in the wirelessmodule data store 130, the method includes reserving 410, by the datastorage load module 145, a portion of the available user space in the wirelessmodule data store 130. In relation toFIG. 3 , it will be understood that the steps of determining and reserving (405 and 410) ofFIG. 4 may be executed prior to thestep 305 of receiving by a datastorage load module 145, requests or user data from ahost application 110 through an application programming interface (API) 135 of the wireless communication module 115. - The alternative control sub-methods 415-425 may comprise specific methods of the controlling 310 step of
FIG. 3 . That is, each of the alternative control sub-methods 415-425 may be independently executed by the datastorage load module 145. - In some instances, a control sub-method for the data
storage load module 145 may include setting 415, by the datastorage load module 145, read/write/delete permissions for the reserveduser space 150 in the wirelessmodule data store 130. Also, the method may include saving 425 by the datastorage load module 145, user data a reserveduser space 150 of the wirelessmodule data store 130. - In some instances, a control sub-method for the data
storage load module 145 may include accessing 420, by the datastorage load module 145, a reserveduser space 150 in the wirelessmodule data store 130. In some instances, subsequent to accessing 420 the reserveduser space 150, the control sub-method may include retrieving 430 by the datastorage load module 145, user data stored in the reserveduser space 150 of the wirelessmodule data store 130. - In other embodiments, a control sub-method for the data
storage load module 145 may include saving 425 user data a reserveduser space 150 of the wirelessmodule data store 130 may occur before deleting 435 by the datastorage load module 145, user data saved in the reserveduser space 150 of the wirelessmodule data store 130. -
FIG. 5 is a flowchart of a method for storing or forwarding user data generated by thehost application 110 to anetwork data store 140. Generally, the method includes interfacing 500 by anAPI 135, the wireless communication module 115 with ahost application 110. Thehost application 110 may include an application for a watch, pager, or sensor, or other host application required for use with the host computing device 105. - After interfacing, the method includes receiving 505 by a data
storage load module 145, requests or user data from the host application 10 through theAPI 135, as well as controlling 510 by the datastorage load module 145, the wirelessmodule data store 130 to respond to requests or store the user data. - In some instances, the method optionally includes forwarding 515 by the
API 135, user data to anetwork data store 140. Alternatively, the method optionally includes transmitting 520, user data stored in a reserveduser space 150 to thenetwork data store 140. - It is noteworthy that any hardware platform suitable for performing the processing described herein is suitable for use with the systems and methods provided herein. Computer-readable storage media refer to jury medium or media that participate in providing instructions to a central processing unit (CPU), a processor, a microcontroller, or the like. Such media may take forms including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively.
- Computer program code for carrying out operations for aspects of the present technology may be written in any combination of one or more programming languages, including an object oriented programming language, conventional procedural programming languages, or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be coupled with the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may he made to an external computer (for example, through the Internet using an Internet Service Provider).
- The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present technology has been presented for purposes of illustration and description, but is not intended to he exhaustive or limited to the present technology in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the present technology. Exemplary embodiments were chosen and described in order to best explain the principles of the present technology and its practical application, and to enable others of ordinary skill in the art to understand the present technology for various embodiments with various modifications as are suited to the particular use contemplated.
- Embodiments of the present technology are described above with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the present technology. It will he understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
- The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to he performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
- The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present technology. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, m fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
- While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. The descriptions are not intended to limit the scope of the technology to the particular forms set forth herein. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments. It should be understood that the above description is illustrative and not restrictive. To the contrary, the present descriptions are intended to cover such alternatives, modifications, and equivalents as may be included within the spirit and scope of the technology as defined by the appended claims and otherwise appreciated by one of ordinary skill in the art. The scope of the technology should, therefore., be determined not with reference to the above description, but instead should be determined with reference to the appended claims along with their full scope of equivalents.
- Also described herein are the following embodiments:
- 1. A wireless communication module (115) residing on a host computing device (105), the wireless communication module (115) comprising:
- a processor (120) configured to control the wireless communication module (115);
- a memory (125) coupled to the processor (120) for storing computer program instructions;
- a wireless module data store (130); and
- an application programming interface (API) (135) configured to interface the wireless communication module (115) with a host application (110) residing on the host computing device (105), wherein the API (135) enables the host application (110) to access the wireless module data store (130) in the wireless communication module (115).
- 2. The wireless communication module (115) according to embodiment 1, further comprising a data storage load module (145) configured to:
- receive through the API (135), requests or user data from the host application (110);
- control the wireless module data store (130) to respond to the requests or store the user data; and
- return responses or requested user data to the API (135) for forwarding to the host application (110).
- 3. The wireless communication module (115) according to embodiment 1, wherein the API (135) is configured to enable the host application (110) to interface with a data storage load module (145) to:
- determine available user space in the wireless module data store (130); and
- reserve a portion of the available user space in the wireless module data store (130).
- 4. The wireless communication module (115) according to embodiment 3, wherein the API (135) is further configured to toward user data to a network data store (140) when the API (135) determines that there is no available user space in the wireless module data store (130).
- 5. The wireless communication module (115) according to embodiment 1 wherein the API (135) is configured to enable the host application (110) to interface with a data storage load module (145) to set read/write/delete permissions for reserved user space (150) in the wireless module data store (130).
- 6. The wireless communication module (115) according to embodiment 1, wherein the API (135) is configured to enable the host application (110) to interface with a data storage load module (145) to save user data in a reserved user space (150) in the wireless module data store (130) or delete user data saved in the reserved user space (150) of the wireless module data store (130).
- 7. The wireless communication module (115) according to embodiment 1, wherein the API (135) is configured to enable the host application (110) to interface with a data storage load module (145) to:
- determine available computing capacity of the processor (120) of the wireless communication module (115); and
- access by the host application (110) the available computing capacity of the wireless communication module (115).
- 8. The wireless communication module (115) according to embodiment 1, wherein the API (135) is further configured to transmit user data stored in a reserved user space (150) of the wireless module data store (130) to a network data store (140).
- 9. The wireless communication module (115) according to embodiment 8, wherein the API (135) configured to transmit user data stored in the reserved user space (150) of the wireless module data store (130) to the network data store (140) in an asynchronous manner.
- 10. A method for utilizing a wireless module data store (130) of a wireless communication module (115) residing on a host computing device (105), the wireless communication module (115) being controlled by a processor (120), the wireless communication module (115) having a memory (125) coupled to the processor (120) for storing computer program instructions, the method comprising:
- receiving (305) by a data storage load module (145), requests or user data from a host application (110) residing on the host computing device (105), through an application programming interface (API) (135) of the wireless communication module (115);
- controlling (310) by the data storage load module (145), the wireless module data store (130) to respond to the requests or store the user data; and
- returning (315) by the data storage load module (145), responses or requested user data to the API (135) for forwarding to the host application (110).
- 11. The method according to embodiment 10, wherein controlling (310) comprises:
- determining (405) by the data storage load module (145), available user space in the wireless module data store (130); and
- reserving (410) by the data storage load module (145), a portion of the available user space in the wireless module data store (130).
- 12. The method according to embodiment 10, wherein controlling (310) comprises:
- accessing (420) by the data storage load module (145) a reserved user space (150) in the wireless module data store (130); and
- setting (415) by the data storage load module (145) read/write/delete permissions for the reserved user space (150) in the wireless module data store (130).
- 13. The method according to embodiment 10, wherein con trolling (310) comprises saving (425) by the data storage load module (145), user data in a reserved user space (150) of the wireless module data store (130) or deleting (435) by the data storage load module (145), user data saved in the reserved user space (150) of the wireless module data store (130).
- 14. The method according to embodiment 10, wherein controlling (310) comprises retrieving (430) by the data storage load module (145), user data stored in a reserved user space (150) of the wireless module data store (130).
- 15. The method according to embodiment 10, further comprising transmitting (520) by the API (135), user data to a network data store (140).
- 16. A host computing device (105), comprising:
- a host device processor (110A);
- a host application (110) executing on the host device processor (110A); and
- a wireless communication module (115) comprising:
- a processor (120) configured to control the wireless communication module (115);
- a memory (125) coupled to the processor (120) for storing computer program instructions;
- a wireless module data store (! 30); and
- an application programming interface (API) (135) configured to interface the wireless communication module (115) with the host application (110), wherein the API (135) enables the host application (110) to access the wireless module data store (130).
- 17. The host computing device (105) according to embodiment 16, wherein the wireless communication module (115) further comprises a data storage load module (145) configured to:
- receive through the API (135), requests or user data from the host application (110);
- control the wireless module data store (130) to respond to the requests or store the user data; and
- return responses or requested user data to the API (135) for forwarding to the host application (110).
- 18. The host computing device (105) according to embodiment 17, wherein the API (135) is configured to enable the host application (110) to interface with the data storage load module (145) to:
- determine available user space in the wireless module data store (130); and
- forward user data to an external network data store (140) when the data storage load module (145) determines that there is no available user space in the wireless module data store (130).
- 19. The host computing device (105) according to embodiment 17, wherein the API (135) is configured to enable the host application (110) to interface with the data storage load module (145) to:
- determine available user space in the wireless module data store (130); and
- reserve a portion of the available user space of the wireless module data store (130).
- 20. The host computing device (305) according to embodiment 16, wherein the API (135) is configured to enable the host application (110) to interface with a data storage load module (145) to:
- access reserved user space (150) in the wireless module data store (130); and
- set read/write/delete permissions for the reserved user space (150) in the wireless module data store (130).
- 21. The host computing device (105) according to embodiment 16, wherein the API (135) is configured to enable the host application (310) to interface with a data storage load module (145) to save user data in a reserved user space (350) in the wireless module data store (130) or delete user data saved in the reserved user space (350) of the wireless module data store (130).
Claims (12)
- A wireless communication module (115) arranged to be comprised in a host computing device (105), the wireless communication module (115) comprising:a processor (120) configured to control the wireless communication module (115);a memory (125) coupled to the processor (120) for storing computer program instructions;a wireless module data store (130); andan application programming interface, API, (135) is configured to interface the wireless communication module (115) with a host application (110) residing on the host computing device (105), wherein the API (135) is configured to enable the host application (110) to access the wireless module data store (130) in the wireless communication module (115), wherein the user data generated by the host application (110) is stored in the wireless module data store (130), if the user data exceeds a storage capacity of a host device memory (110B);wherein the API (135) is configured to enable the host application (110) to interface with a data storage load module (145) to:determine available user space in the wireless module data store (130); andreserve a portion of the available user space in the wireless module data store (130) for use by the host application (110) to store the user data and wherein the data storage load module (145) is configured to:receive through the API (135), requests or user data form the host application (110);control the wireless module data store (130) to respond to the requests or store the user data;return responses or requested user data to the API (135) for forwarding to the host application (110); andwherein the API (135) is further configured to forward the user data to a network data store (140) when the API (135) determines that there is no available user space in the wireless module data store (130).
- The wireless communication module (115) according to claim 1, wherein the API (135) is configured to give the host application (110) access to a data storage load module (145) to set read/write/delete permissions for the reserved user space (150) in the wireless module data store (130).
- The wireless communication module (115) according to claim 1, wherein the API (135) is configured to give the host application (110) access to a data storage load module (145) to save user data in the reserved user space (150) in the wireless module data store (130) or delete user data saved in the reserved user space (150) of the wireless module data store (130).
- The wireless communication module (115) according to claim 1, wherein the API (135) is configured to allow the host application (110) access to a data storage load module (145) to:determine available computing capacity of the processor (120) of the wireless communication module (115); andaccess by the host application (110) the available computing capacity of the wireless communication module (115).
- The wireless communication module (115) according to claim 1, wherein the API (135) is further configured to transmit user data stored in the reserved user space (150) of the wireless module data store (130) to a network data store (140).
- The wireless communication module (115) according to claim 5, wherein the API (135) configured to batch user data in the reserved user space (150) and transmit the batched user data to the network data store (140).
- A host computing device (105), comprising:a host device processor (110A);a host application (110) executing on the host device processor (110A); anda wireless communication module (115) as set out in any one of claims 1 to 6.
- The host computer device (105) according to claim 7, wherein the host application (110) is configured to store user data in the wireless module data store (130) in response to a determination that said user data exceeds a storage capacity of the host computing device (105).
- A method for utilizing a wireless module data store (130) of a wireless communication module (115) comprised in a host computing device (105), the wireless communication module (115) being controlled by a processor (120), the wireless communication module (115) having a memory (125) coupled to the processor (120) for storing computer program instructions, the method comprising:receiving (305) by a data storage load module (145), requests or user data from a host application (110) residing on the host computing device (105), through an application programming interface, API, (135) of the wireless communication module (115), wherein user data generated by the host application (110) is stored in the wireless module data store (130), if the user data exceeds a storage capacity of a host device memory (110B);controlling (310) by the data storage load module (145), the wireless module data store (130) to respond to the requests or store the user data; andreturning (315) by the data storage load module (145), responses or requested user data to the API (135) for forwarding to the host application (110), wherein controlling (310) comprises:determining (405) by data storage load module (145), available user space in the wireless module data store (130);reserving (410) by the data storage load module (145), a portion of the available user space in the wireless module data store (130) for use by the host application (110) to store user data; andtransmitting (520) by the API (135), user data to a network data store (140).
- The method according to claim 9, wherein controlling (310) comprises:accessing (420) by the data storage load module (145) the reserved user space (150) in the wireless module data store (130); andsetting (415) by the data storage load module (145) read/write/delete permissions for the reserved user space (150) in the wireless module data store (130).
- The method according to claim 9, wherein controlling (310) comprises saving (425) by data storage load module (145), user data in the reserved user space (150) of the wireless module data store (130) or deleting (435) by the data storage load module (145), user data saved in the reserved user space (150) of the wireless module data store (130).
- The method according to claim 9, wherein controlling (310) comprises retrieving (430) by the data storage load module (145), user data stored in the reserved user space (150) of the wireless module data store (130).
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/864,914 US20140317168A1 (en) | 2013-04-17 | 2013-04-17 | System, method, and device for exposing wireless module data storage |
EP14719362.7A EP2987387B1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
PCT/IB2014/060191 WO2014170775A1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP14719362.7A Division EP2987387B1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
EP14719362.7A Division-Into EP2987387B1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3618563A1 true EP3618563A1 (en) | 2020-03-04 |
EP3618563B1 EP3618563B1 (en) | 2021-01-06 |
Family
ID=50549367
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19200911.6A Withdrawn EP3651545A1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
EP19200895.1A Not-in-force EP3618563B1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
EP14719362.7A Not-in-force EP2987387B1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP19200911.6A Withdrawn EP3651545A1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP14719362.7A Not-in-force EP2987387B1 (en) | 2013-04-17 | 2014-03-26 | System, method, and device for exposing wireless module data storage |
Country Status (8)
Country | Link |
---|---|
US (1) | US20140317168A1 (en) |
EP (3) | EP3651545A1 (en) |
DK (1) | DK2987387T3 (en) |
ES (1) | ES2780777T3 (en) |
HU (1) | HUE048453T2 (en) |
PL (1) | PL2987387T3 (en) |
PT (1) | PT2987387T (en) |
WO (1) | WO2014170775A1 (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10078856B2 (en) | 2016-05-09 | 2018-09-18 | Shadecraft, Inc. | Mobile computing device control of shading object, intelligent umbrella and intelligent shading charging system |
US10327521B2 (en) | 2015-05-22 | 2019-06-25 | Armen Sevada Gharabegian | Intelligent shading objects |
US10356223B1 (en) * | 2016-03-17 | 2019-07-16 | Amazon Technologies, Inc. | Connection migration for Internet of Things (IoT) devices |
US10250817B2 (en) | 2016-05-09 | 2019-04-02 | Armen Sevada Gharabegian | Shading object, intelligent umbrella and intelligent shading charging system integrated camera and method of operation |
US10455395B2 (en) | 2016-05-09 | 2019-10-22 | Armen Sevada Gharabegian | Shading object, intelligent umbrella and intelligent shading charging security system and method of operation |
US10912357B2 (en) | 2016-05-09 | 2021-02-09 | Shadecraft, LLC | Remote control of shading object and/or intelligent umbrella |
US9949540B2 (en) | 2016-05-09 | 2018-04-24 | Shadecraft, Inc. | Automated intelligent shading objects and computer-readable instructions for interfacing with, communicating with and controlling a shading object |
US10542799B2 (en) | 2016-05-20 | 2020-01-28 | Shadecraft, LLC | Intelligent shading system with movable base assembly |
US9839267B1 (en) * | 2016-12-29 | 2017-12-12 | Shadecraft, Inc. | Shading system with artificial intelligence application programming interface |
US10118671B2 (en) | 2016-12-29 | 2018-11-06 | Shadecraft, Inc. | Marine vessel with intelligent shading system |
US10094138B2 (en) | 2016-12-29 | 2018-10-09 | Shadecraft, Inc. | Control of multiple intelligent umbrellas and/or robotic shading systems |
US10488834B2 (en) | 2017-05-13 | 2019-11-26 | Shadecraft, Inc. | Intelligent umbrella or robotic shading system having telephonic communication capabilities |
US10349493B2 (en) | 2017-07-07 | 2019-07-09 | Shadecraft, Inc. | Artificial intelligence (AI) computing device with one or more lighting elements |
US10554436B2 (en) | 2017-11-19 | 2020-02-04 | Shadecraft, Inc. | Intelligent umbrella and/or robotic shading system with ultra-low energy transceivers |
CN108510715A (en) * | 2018-01-04 | 2018-09-07 | 北鉅有限公司 | The system for prompting that article carries |
US10519688B2 (en) | 2018-01-06 | 2019-12-31 | Shadecraft, Inc. | Apparatus and method for identifying operational status of umbrella, parasol or shading system utilizing lighting elements |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000002361A1 (en) * | 1998-07-01 | 2000-01-13 | Telia Ab (Publ) | Module for mobile terminals |
US6289464B1 (en) * | 1998-01-07 | 2001-09-11 | Microsoft Corporation | Receiving wireless information on a mobile device with reduced power consumption |
WO2008017830A1 (en) * | 2006-08-09 | 2008-02-14 | Symbian Software Limited | Mobile communications device programmed with message logging capability |
US20120238206A1 (en) * | 2011-03-14 | 2012-09-20 | Research In Motion Limited | Communications device providing near field communication (nfc) secure element disabling features related methods |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19733530C2 (en) * | 1997-08-02 | 2003-10-09 | Philips Intellectual Property | mobile device |
US7460853B2 (en) * | 2000-10-12 | 2008-12-02 | Sony Corporation | Wireless module security system and method |
TWM243761U (en) * | 2003-04-30 | 2004-09-11 | Behavior Tech Computer Corp | Memory disk with wireless data transmitting and rceiving function |
FI20030943A (en) * | 2003-06-25 | 2004-12-26 | Nokia Corp | Procedure for configuring parameters for a machine-to-machine module and a machine-to-machine module |
US8000735B1 (en) * | 2004-12-01 | 2011-08-16 | Globalfoundries Inc. | Wireless modem architecture for reducing memory components |
EP1775911B1 (en) * | 2005-10-13 | 2018-02-28 | BlackBerry Limited | System and method for providing asynchronous notifications using synchronous data |
US20070147425A1 (en) * | 2005-12-28 | 2007-06-28 | Wavesat | Wireless modem |
US8176230B2 (en) * | 2006-04-07 | 2012-05-08 | Kingston Technology Corporation | Wireless flash memory card expansion system |
US8590037B2 (en) * | 2008-12-23 | 2013-11-19 | Sandisk Technologies Inc. | Managing host application privileges |
US8869155B2 (en) * | 2010-11-12 | 2014-10-21 | International Business Machines Corporation | Increasing parallel program performance for irregular memory access problems with virtual data partitioning and hierarchical collectives |
-
2013
- 2013-04-17 US US13/864,914 patent/US20140317168A1/en not_active Abandoned
-
2014
- 2014-03-26 ES ES14719362T patent/ES2780777T3/en active Active
- 2014-03-26 PL PL14719362T patent/PL2987387T3/en unknown
- 2014-03-26 EP EP19200911.6A patent/EP3651545A1/en not_active Withdrawn
- 2014-03-26 HU HUE14719362A patent/HUE048453T2/en unknown
- 2014-03-26 EP EP19200895.1A patent/EP3618563B1/en not_active Not-in-force
- 2014-03-26 WO PCT/IB2014/060191 patent/WO2014170775A1/en active Application Filing
- 2014-03-26 EP EP14719362.7A patent/EP2987387B1/en not_active Not-in-force
- 2014-03-26 PT PT147193627T patent/PT2987387T/en unknown
- 2014-03-26 DK DK14719362.7T patent/DK2987387T3/en active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289464B1 (en) * | 1998-01-07 | 2001-09-11 | Microsoft Corporation | Receiving wireless information on a mobile device with reduced power consumption |
WO2000002361A1 (en) * | 1998-07-01 | 2000-01-13 | Telia Ab (Publ) | Module for mobile terminals |
WO2008017830A1 (en) * | 2006-08-09 | 2008-02-14 | Symbian Software Limited | Mobile communications device programmed with message logging capability |
US20120238206A1 (en) * | 2011-03-14 | 2012-09-20 | Research In Motion Limited | Communications device providing near field communication (nfc) secure element disabling features related methods |
Also Published As
Publication number | Publication date |
---|---|
PL2987387T3 (en) | 2020-07-13 |
WO2014170775A1 (en) | 2014-10-23 |
EP3651545A1 (en) | 2020-05-13 |
EP2987387B1 (en) | 2020-03-18 |
ES2780777T3 (en) | 2020-08-26 |
PT2987387T (en) | 2020-03-31 |
EP2987387A1 (en) | 2016-02-24 |
HUE048453T2 (en) | 2020-07-28 |
EP3618563B1 (en) | 2021-01-06 |
US20140317168A1 (en) | 2014-10-23 |
DK2987387T3 (en) | 2020-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3618563A1 (en) | System, method, and device for exposing wireless module data storage | |
WO2017092594A1 (en) | Information processing method and device | |
JP7239599B2 (en) | Communication method and communication device | |
CN113179327B (en) | High concurrency protocol stack unloading method, equipment and medium based on large-capacity memory | |
CN114025399A (en) | Low earth orbit satellite switching control method, core network, computer device and storage medium | |
US20170153909A1 (en) | Methods and Devices for Acquiring Data Using Virtual Machine and Host Machine | |
US11832349B2 (en) | Nomination of a primary cell phone from a pool of cell phones | |
EP3373608B1 (en) | Method and apparatus for acquiring resources | |
KR20170017643A (en) | Contents transmission controlling method and electronic device supporting the same | |
US20200272175A1 (en) | Aerial vehicle control method and apparatus | |
CN110888844A (en) | Data deleting method, system, equipment and computer readable storage medium | |
CN112822737B (en) | Method, equipment and storage medium for realizing mobile network system switching | |
CN110430142A (en) | Method and apparatus for controlling flow | |
US20220103500A1 (en) | Method and device for managing group member, and method for processing group message | |
CN116546428B (en) | Paging method, device, equipment and storage medium of knapsack base station | |
US10334414B2 (en) | Managing multiple mobile devices on different operator networks | |
CN112688980B (en) | Resource distribution method and device, and computer equipment | |
CN113840313B (en) | Network mode control method and device of mobile terminal and computer equipment | |
US9681328B2 (en) | Multiple modem device including notification modem | |
JP6553650B2 (en) | Data processing method and system | |
CN110928944B (en) | Data processing method and device | |
CN103399949A (en) | Database storage block state control method and device | |
CN112291601B (en) | Data transmission method, electronic equipment and storage medium | |
CA3168072A1 (en) | System and method for automatically providing a second resource type to replace or offset a first resource type | |
CN115022895A (en) | Network optimization method and related equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED |
|
AC | Divisional application: reference to earlier application |
Ref document number: 2987387 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20200324 |
|
RBV | Designated contracting states (corrected) |
Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40018763 Country of ref document: HK |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
INTG | Intention to grant announced |
Effective date: 20201015 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AC | Divisional application: reference to earlier application |
Ref document number: 2987387 Country of ref document: EP Kind code of ref document: P |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1353760 Country of ref document: AT Kind code of ref document: T Effective date: 20210115 Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602014074156 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20210224 Year of fee payment: 8 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20210224 Year of fee payment: 8 Ref country code: DE Payment date: 20210224 Year of fee payment: 8 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20210106 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1353760 Country of ref document: AT Kind code of ref document: T Effective date: 20210106 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG9D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210406 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210407 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210506 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210406 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210506 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602014074156 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
26N | No opposition filed |
Effective date: 20211007 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20210331 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210326 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210331 Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210326 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210331 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210506 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210331 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 602014074156 Country of ref document: DE |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20220326 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220326 Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20220331 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20221001 |
|
P01 | Opt-out of the competence of the unified patent court (upc) registered |
Effective date: 20230412 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20210206 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20140326 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20210106 |