WO2016054699A1 - A mobile communication device operating system instance virtualisation server - Google Patents
A mobile communication device operating system instance virtualisation server Download PDFInfo
- Publication number
- WO2016054699A1 WO2016054699A1 PCT/AU2015/050617 AU2015050617W WO2016054699A1 WO 2016054699 A1 WO2016054699 A1 WO 2016054699A1 AU 2015050617 W AU2015050617 W AU 2015050617W WO 2016054699 A1 WO2016054699 A1 WO 2016054699A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- mobile communication
- communication device
- operating system
- server
- virtualisation
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1063—Application servers providing network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/59—Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
Definitions
- the present invention relates to mobile telephony and in particular, but not necessarily entirely, to a mobile communication device operating system instance virtualisation server.
- the present invention seeks to provide a mobile communication device operating system instance virtualisation server, which will overcome or substantially ameliorate at least some of the deficiencies of the prior art, or to at least provide an alternative.
- a mobile communication device operating system instance virtualisation server comprising an Internet network interface configured to send and receive data across the Internet; mobile communication device operating system instance instantiator configured to instantiate a mobile communication device operating system instance; and a VOIP host, wherein, in use, the server may be configured to authenticate, via the Internet network interface, a mobile communication device; instantiate, using the instantiator, a mobile communication device operating system instance associated with the mobile communication device; send, via the Internet network interface, graphical user interface data to the mobile communication device configured to allow the mobile communication device to display a graphical user interface substantially emulating the operation of the mobile communication device operating system instance, the graphical user interface configured for allowing the placing a call; receive, via the Internet network interface, a call placement request from the mobile communication device initiate, via the Internet network interface, a VOIP session between the VOIP host and a VOIP client of the mobile communication device.
- the virtualisation server may further comprise a PSTN network interface adapted for connecting to a PSTN network and wherein the VOIP host may be configured for interfacing with the PSTN network interface.
- the server may be further configured for implementing call metering for the duration of the VOIP session.
- the graphical user interface data may be configured for rendering by a web browser application or native device application executing on the mobile communication device.
- the graphical user interface data may comprise client side scripting.
- the client side scripting may be configured for instantiating the VoIP client.
- the client side scripting may comprise at least one of JavaScript and HTML5 or other client server communication technologies.
- the VoIP session uses at least one of the H.323 and SIP protocols or other industry or proprietary VOIP protocol.
- the server may be configured to authenticate, via the Internet network interface, a further mobile communication device; instantiate, using the instantiator, a further mobile communication device operating system instance associated with the further mobile communication device.
- the mobile communication device operating system may be a different type of operating system as compared to the further mobile communication device operating system.
- the virtualisation server may further comprise a user specified configuration settings database and wherein, in use, the server may be configured to select the type of operating system in accordance with the user specified configuration settings.
- the mobile communication device operating system may be a different version of operating system as compared to the further mobile communication device operating system.
- the virtualisation server may further comprise a user specified configuration settings database and wherein, in use, the server may be configured to select the operating system version in accordance with the user specified configuration settings.
- the plurality of mobile communication device operating system types comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types.
- the virtualisation server may further comprise a user content database and wherein, in use, the server may be configured to store user content received from the mobile communication device in the user content database.
- the user contact may comprise at least contacts information
- the server may be configured to receive, via the Internet network interface, an operating system type switch request; instantiate, using the instantiator, a further mobile communication device operating system instance in accordance with the operating system type change request; and persist the user content across both the mobile communication device operating system instance and the further mobile communication device operating system instance.
- a mobile communication device operating system instance virtualisation server comprising an Internet network interface configured to send and receive data across the Internet; a mobile communication device operating system instance instantiator configured to instantiate a mobile communication device operating system instance; and a VOIP host, wherein, in use, the server is configured to authenticate, using the Internet network interface, a mobile communication device; instantiate, using the instantiator, a mobile communication device operating system instance associated with the mobile communication device; and initiate a VOIP session between the VOIP host and a VOIP client of the mobile communication device.
- the virtualisation server may further comprise a PSTN network interface adapted for connecting to a PSTN network and wherein, in use, when initiating the VoIP session, the server is further configured to establish a PSTN call using the PSTN network interface.
- the virtualisation server may further comprise a web server and wherein, in use, the server is further configured to serve, using the web server, HTTP content to a web browser application of the mobile communication device.
- the HTTP content may comprise JavaScript.
- the JavaScript may be configured to instantiate the VoIP client.
- the HTTP content may comprises HTML5 content.
- the VoIP session may use at least one of the H.323 and SIP protocols.
- the instantiator may be configured to instantiate a plurality of mobile communication device operating systems.
- the instantiator may be configured to instantiate a plurality of mobile communication device operating system types.
- the plurality of mobile communication device operating system types may comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types.
- the instantiator may be configured to select one of the plurality of mobile communication device operating system types.
- the virtualisation server further comprises a user content database and wherein, in use, the server is configured to store user content received from the mobile communication device in the user content database.
- the virtualizision server may allow operating system native applications to run with the user interface render on the communication device via browser or customer application technologies.
- Figure 1 shows a system for mobile communication device operating system instance virtualisation in accordance with embodiments of the present disclosure.
- Figure 2 shows the mobile communication device of Figure 1 in accordance with an embodiment of the present disclosure.
- System 100 for mobile communication device operating system instance virtualisation [46] Referring to figure 1, there is shown a system 100 for mobile communication device operating systems instance virtualisation.
- the system 100 is configured to allow for "thin client" inexpensive mobile communication devices wherein, as opposed to existing arrangements wherein the mobile communication device executes a mobile communication device operating system, the mobile communication device rather executes a virtualisation client in communication with a virtualisation server, wherein the virtualisation server instantiates an instance of the mobile communication device operating system for the mobile communication device.
- cost-effective mobile communication devices may be provided because the intensive computation is performed by the virtualisation server and the mobile communication device need only utilise a data network to perform the voice, video, display and other capabilities of existing mobile communication devices.
- the virtualisation server may be configured to instantiate different types of mobile computing device operating systems so as to cater for a wide range of mobile communication devices.
- the virtualisation server may receive operating system updates such that the virtualisation client mobile communication devices offer the latest operating system functionality.
- the system 100 comprises a virtualisation server 140.
- a virtualisation server 140 In operable communication with the virtualisation server 140 across the Internet 120 is a plurality of mobile communication devices 115.
- These mobile communication devices 115 will be described in further detail below with reference to figure 2.
- the mobile communication devices 115 comprise the usual human interface components such as the digital display device, microphone, speaker and the like allow the user to interact with the virtualisation client mobile communication device 115 as if it were a standard mobile communication device 115.
- the virtualisation client mobile communication devices 115 are configured to execute a virtualisation client application, which, in a preferred embodiment comprises a web browser 110 and a VoIP client 105.
- the virtualisation client mobile communication devices 115 are configured to execute the browser application 110, in other embodiments, the virtualisation client may be provided in other manners, including custom software applications, furthermore including those not necessarily employing HTTP for communication with the virtualisation server 140.
- figure 1 shows a plurality of mobile communication devices 115.
- the virtualisation server 140 is adapted for serving a plurality of mobile communication devices 115.
- the virtualisation server 140 when authenticating with a particular mobile communication device 115, the virtualisation server 140 is configured to instantiate the appropriate mobile communication device operating system for each of the mobile communication devices 115.
- the mobile communication devices 115 are in operable communication with the virtualisation server 140 across a packet switched network, such as the Internet 120.
- the mobile communication devices 150 need only comprise a data connection, which data connection may comprise differing data connection types including wired and wireless data connections.
- the wired data connections may comprise Wi- Fi data connections or cellular data connections such as 3G, 4G, LTE, 4.5G, 5G data connections and the like.
- the virtualisation server 140 comprises a PSTN interface 160 for interfacing with a PSTN network 125.
- the PSTN interface 160 is configured to allow the interface between the VoIP call between the mobile communication device 115 and the virtualisation server 140 and the circuit switched call between the virtualisation server 140 and the PSTN network 125.
- the virtualisation server 140 may also connect calls having VoIP endpoints.
- the virtualisation server 140 is configured to instantiate a plurality of mobile communication device operating system instances 145 for the plurality of mobile communication devices 115.
- the virtualisation server 140 is configured to instantiate a plurality of mobile communication device operating system type instances referred to in the figure as OSl to OSn. It should be appreciated that any number of operating system type instances may be instantiated by the virtualisation server.
- These mobile communication device operating system types 150 may include the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types 150. It should be appreciated that other operating system types may be implemented also.
- each mobile communication device type operating system instantiation 150 there may be a plurality of mobile communication device instances 145, each corresponding to a particular mobile communication device 115.
- Each mobile communication device instance 145 may implement various mobile communication device applications to emulate the traditional application execution process. It should be noted that in addition to emulating mobile communication device software applications, the virtualisation server 140 may be configured to instantiate web applications or third-party cloud- based applications for the mobile communication device instances 145.
- a user may hold multiple virtual mobile communication device instances 145 and swap or switch between these instances 145 while maintaining common settings, including user specified settings and the like.
- the user could utilise an Apple iPhone but switch across to an Android device upon request while still maintaining phone contacts, other settings and the like.
- the virtualisation server 140 may execute the multiple mobile communication device instances 145 simultaneously for a user. In this manner, a user may authenticate with multiple mobile communication device instances 145 simultaneously.
- the virtualisation server 140 further implements a VoIP host 130 adapted for initiating VoIP sessions between the VoIP host 130 and the VoIP client 105 of the mobile communication device 115.
- server 140 comprises a web server 135 configured to serve HTTP (including secured HTTPS content) content to the mobile communication device 115.
- the mobile communication device 115 executes a web browser 110 configured to receive HTTP content from the web server 135.
- the HTTP content may comprise client side code/scripting such as JavaScript, HTM L5 and the like configured to instantiate the VoIP client 105, such as a H.323 or SIP JavaScript client.
- the web browser 110 is configured to render the display in accordance with the HTTP content.
- the virtualisation server 140 may be configured to stream the display (and other data such as audio data) to the mobile communication device 150.
- the mobile communication device 150 need only execute the web browser 110 to implement the functionality described herein, including the display functionality, VoIP functionality (which VoIP functionality includes audio and video VoIP functionality) and the like.
- the virtualisation server 140 may comprise an operating system database 155 configured to store various mobile communication device operating system types 150. In this manner, when authenticating with a mobile communication device 115, the virtualisation server 140 may retrieve, from the operating system database 115 the bootstrap code for instantiating the appropriate mobile communication device operating system for the mobile communication device 115.
- the virtualisation server 140 comprises a user content database 165 configured to store user content which would otherwise be stored on the mobile communication device 115 in accordance with existing arrangements, such as contacts, user preferences, system preferences and the like.
- the mobile communication device 115 when searching for a telephone contact for example, as opposed to searching a memory device of the mobile communication device 115, the mobile communication device 115 sends a telephone contact search query to the virtualisation server 140 such that the virtualisation server is able to retrieve and return to the mobile communication device 115 the appropriate telephone contact from the user content database 165.
- the virtualisation server 140 is configured to execute multiple mobile communication device instances 145 for a user, the contacts may be persisted across the instances 145.
- Fig. 2 shows the mobile communication device 115 in further detail.
- the virtualisation server client functionality as described herein, including in implementing the web browser 110 and VoIP client 105, may be implemented as computer program code instructions executable by the computing device 115.
- the computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs a one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method.
- DLL dynamic link libraries
- the device 115 comprises semiconductor memory 210 comprising volatile memory such as random access memory (RAM), read only memory (ROM), flash memory and the like.
- the memory 210 may comprise either RAM or ROM or a combination of RAM and ROM.
- the device 115 comprises a computer program code storage medium reader 260 for reading the computer program code instructions from computer program code storage media to 65.
- the device further comprises I/O interface 235 for communicating with one or more peripheral devices.
- the I/O interface 235 may offer both serial and parallel interface connectivity.
- the I/O interface 235 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 260.
- the I/O interface 235 may also communicate with one or more human input devices (HID) 255 such as keyboards, pointing devices, touch sensitive overlays and the like.
- the I/O interface 235 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 115 with one or more personal computer (PC) devices 250.
- the I/O interface 235 may also comprise an audio interface for communicate audio signals to one or more audio devices 245, such as a speaker or a buzzer.
- the device 115 also comprises a network interface 240 for communicating with the Internet 120.
- the device 115 comprises an arithmetic logic unit or processor 220 for performing the computer program code instructions.
- the processor 220 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like.
- Computer program code instructions may be loaded from the storage media 265 using the storage medium reader 260 or from the network 270 using network interface 240.
- the web browser 110 code is loaded from memory 210.
- the processor 220 fetches computer program code instructions from memory 210, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 210.
- the instructions stored in the memory 210 when retrieved and executed by the processor 220, may configure the computing device 115 as a special-purpose machine that may perform the functions described herein.
- the device 115 also comprises a video interface 215 for conveying video signals to a display device 205, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
- a display device 205 such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
- LCD liquid crystal display
- CRT cathode-ray tube
- the device 115 also comprises a communication bus subsystem 225 for interconnecting the various devices described above.
- the bus subsystem 225 may offer parallel connectivity such as Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like.
- ISA Industry Standard Architecture
- PCI Peripheral Component Interconnect
- PCIe PCI Express
- Serial Advanced Technology Attachment Serial ATA
- a user would purchase a virtualisation client mobile communication device 115.
- the virtualisation client mobile communication device may be provided at a low cost, or even for free upon subscription to a subscription plan or the like.
- the mobile communication device 115 would be provided with a web browser 110 configured to implement the functionality herein.
- the browser application is configured for executing client side code, such as HTML5, Javascript and the like which may be used for rendering dynamic graphical user interfaces, instantiating the VoIP client 105 and the like.
- the web browser 110 may be configured to browse to a registration URL provided by the virtualisation server 140. Using the registration resource, the user may configure user authentication credentials, user preferences and the like.
- the user may be able to input username and password combinations and the like.
- the virtualisation server 140 may be configured to inspect other IDs, such as MAC address, IP address and the like for the purposes of identifying the particular mobile communication device 115.
- the user may input is a preferences such as locale, contact preferences and the like.
- the mobile communication device 115 is able to provide traditional mobile communication device functionality.
- the virtualisation server 140 comprises an Internet network interface adapted for sending and receiving data across the Internet 120. Furthermore, the virtualisation server 140 further comprises a mobile communication device operating system instance 145 instantiator configured to instantiate a mobile communication device operating system. Furthermore, the virtualisation server 140 comprises the VoIP host 130.
- the server 140 is configured to authenticate, across the Internet network interface, the mobile communication device 115 and then instantiate, using the instantiator, a mobile communication device operating system instance 145 associated with the mobile communication device.
- the server 140 is configured to send, via the Internet network interface, graphical user interface data to the mobile communication device configured to allow the mobile communication device 115 to display a graphical user interface substantially emulating the operation of the mobile communication device operating system instance.
- the graphical user interface is configured for allowing the placing a call.
- the server 140 is configured to receive, via the Internet network interface, a call placement request from the mobile communication device and accordingly initiate a VoIP session between the VoIP host 130 and the VoIP client 105 of the mobile communication device 115.
- the virtualisation server 145 would calculate call costs and update telephone usage bill data associated with the mobile communication device 115.
- the user may use the mobile communication device 115 to make voice and video calls in the usual manner.
- the virtualisation server 140 further comprises a PSTN interface 160 for connecting to the PSTN network 125.
- the virtualisation server 140 is further configured to establish a PSTN call using the PSTN network interface.
- the system 100 utilises HTTP for the purposes of communicating between the mobile communication device 115 and the web server 140.
- the web browser 110 may render HTTP pages configured to replicate the user interface of traditional mobile communication devices, such as the keypad, telephone contacts and the like.
- the web browser 110 may implement asynchronous techniques such as Ajax for the purpose of replicating the user experience of a traditional mobile communication device interface by avoiding HTTP page refreshes using asynchronous requests to the virtualisation server 140, such as for example, by sending an asynchronous request to the virtualisation server 140 upon a keypress of a key of the keypad displayed by the web browser 110.
- the virtualisation server 140 comprises the web server 135.
- the web server 135 is configured to serve, to the web browser 110 of the mobile communication device 115 appropriate HTTP content for the purposes of rendering the mobile communication device user interface and managing the VoIP functionality.
- the HTTP content comprises client side scripting, such as JavaScript or other client technology.
- client side scripting may instantiate the VoIP client 105 without the need for additional VoIP client applications.
- the HTTP content comprises HTML5 content so as to provide the functionality and advantages associated with the HTML 5 specification.
- the virtualisation server 140 is configured to instantiate VoIP sessions using differing VoIP protocols such as the H.323 and SIP protocols or other proprietry or industry based VoIP protocol.
- the virtualisation server 140 instantiator is configured to instantiate a plurality of mobile communication device operating system types 150.
- these mobile communication device operating system types 150 comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types 150.
- the virtualisation server 140 upon authenticating with the mobile communication device 115, the virtualisation server 140 would retrieve, from the operating system database 155, the appropriate mobile communication device operating system bootstrap code for instantiating the mobile communication device operating system instance 145 for association with the mobile communication device 115.
- the operating system database 155 may comprise a plurality of mobile communication device operating system versions, so as to allow the instantiator to select the appropriate version for the mobile communication device 115, which version may be determined in accordance with a user preference, hardware capability of the mobile communication device 115 and the like.
- the virtualisation server 140 would then send HTTP content to the mobile communication device 115 for the purposes of rendering the graphical user interface and instantiating the VoIP client 105.
- the operating system database 155 is configured to receive periodic operating system updates. In this manner, the system 100 is configured to provide the latest operating systems for the mobile communication devices 115 thereby negating the traditional updating of the operating system on the mobile communication device 115 itself.
- the mobile communication device 115 would transmit the telephone contact data to the virtualisation server 140 for storage in the user content database 165. In this manner, upon subsequent searching for the telephone contact, the mobile communication device 115 would send telephone contact search query data to the virtualisation server 140 for the purposes of searching for the matching telephone contact within the user content database 165.
- the user content database 165 may be adapted for storing other user content, as opposed to telephone contact data.
- the user content database 165 may be adapted for storing user preferences, system settings and the like.
- the server 140 is configured for receiving and operating system type switch request from a user, such as where, for example, a user wishes to switch from an Apple to Android operating system.
- the server 140 may instantiate the android operating system if not already instantiated and send updated graphical user interface data to the mobile communication device 115 to allow the mobile communication device 115 to display a graphical user interface substantially in relating the Android operating system.
- the server 140 is configured to persist user settings the two operating system types such that the user is able to access the users settings are contact, such as contact information such as phone numbers and the like despite switching between operating systems.
- the invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards.
- Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
- wireless and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term “wired” and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires.
- processor may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory.
- a "computer” or a “computing device” or a “computing machine” or a “computing platform” may include one or more processors.
- the methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein.
- Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included.
- a typical processing system that includes one or more processors.
- the processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
- a computer-readable carrier medium may form, or be included in a computer program product.
- a computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
- the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment.
- the one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors.
- embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium.
- the computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method.
- aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects.
- the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
- Carrier Medium
- the software may further be transmitted or received over a network via a network interface device.
- the carrier medium is shown in an example embodiment to be a single medium, the term “carrier medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
- the term “carrier medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention.
- a carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
- a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means.
- Connected may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
There is disclosed a mobile communication device operating system instance virtualisation server comprising an Internet network interface configured to send and receive data across the Internet; a mobile communication device operating system instance instantiator configured to instantiate said operating system instance; and a VOIP host. In use, the server is configured to authenticate, via the interface, a mobile communication device; instantiate, using the instantiator, said operating system instance; send, via the Internet network interface, graphical user interface data to the mobile communication device configured to allow the device to display a graphical user interface substantially emulating the operation of the operating system instance, the graphical user interface configured for allowing the placing a call; receive, via the Internet network interface, a call placement request from the mobile communication device and initiate, via the Internet network interface, a VOIP session between the VOIP host and a VOIP client of the mobile communication device.
Description
A MOBI LE COM M U N ICATION DEVICE OPERATI NG SYSTE M I NSTANCE
VI SUALISATION SE RVE R
Field of the Invention
[1] The present invention relates to mobile telephony and in particular, but not necessarily entirely, to a mobile communication device operating system instance virtualisation server.
Background
[2] According to existing arrangements, users utilise mobile communication devices for the purposes of establishing calls and the like. These mobile communication devices typically nowadays take the form of "smart phones" comprising not insubstantial processing power for the purposes of operating complex mobile computing device operating systems such as the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating systems.
[3] However, this existing arrangements suffer from the disadvantage of the substantial computational processing power required by the actual mobile communication device to execute the operating system, increasing the hardware cost of the mobile communication device. Also, mobile communication device operating systems become obsolete and require frequent updating.
[4] As such, the present invention seeks to provide a mobile communication device operating system instance virtualisation server, which will overcome or substantially ameliorate at least some of the deficiencies of the prior art, or to at least provide an alternative.
[5] It is to be understood that, if any prior art information is referred to herein, such reference does not constitute an admission that the information forms part of the common general knowledge in the art, in Australia or any other country.
Summary of the Disclosure
[6] According to one aspect, there is provided a mobile communication device operating system instance virtualisation server comprising an Internet network interface configured to send and receive data across the Internet; mobile communication device operating system instance instantiator configured to instantiate a mobile communication device operating system instance; and a VOIP host, wherein, in use, the server may be configured to authenticate, via the Internet network interface, a mobile communication device; instantiate, using the instantiator, a mobile communication device operating system instance associated with the mobile communication device; send, via the Internet network interface, graphical user interface data to the mobile communication device configured to allow the mobile communication device to display a graphical user interface substantially emulating the operation of the mobile communication device operating system
instance, the graphical user interface configured for allowing the placing a call; receive, via the Internet network interface, a call placement request from the mobile communication device initiate, via the Internet network interface, a VOIP session between the VOIP host and a VOIP client of the mobile communication device.
[7] The virtualisation server may further comprise a PSTN network interface adapted for connecting to a PSTN network and wherein the VOIP host may be configured for interfacing with the PSTN network interface.
[8] The server may be further configured for implementing call metering for the duration of the VOIP session.
[9] The graphical user interface data may be configured for rendering by a web browser application or native device application executing on the mobile communication device.
[10] The graphical user interface data may comprise client side scripting.
[11] The client side scripting may be configured for instantiating the VoIP client.
[12] The client side scripting may comprise at least one of JavaScript and HTML5 or other client server communication technologies.
[13] The VoIP session uses at least one of the H.323 and SIP protocols or other industry or proprietary VOIP protocol.
[14] In use, the server may be configured to authenticate, via the Internet network interface, a further mobile communication device; instantiate, using the instantiator, a further mobile communication device operating system instance associated with the further mobile communication device.
[15] The mobile communication device operating system may be a different type of operating system as compared to the further mobile communication device operating system.
[16] The virtualisation server may further comprise a user specified configuration settings database and wherein, in use, the server may be configured to select the type of operating system in accordance with the user specified configuration settings.
[17] The mobile communication device operating system may be a different version of operating system as compared to the further mobile communication device operating system.
[18] The virtualisation server may further comprise a user specified configuration settings database and wherein, in use, the server may be configured to select the operating system version in accordance with the user specified configuration settings.
[19] The plurality of mobile communication device operating system types comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types.
[20] The virtualisation server may further comprise a user content database and wherein, in use, the server may be configured to store user content received from the mobile communication device in the user content database.
[21] The user contact may comprise at least contacts information
[22] In use, the server may be configured to receive, via the Internet network interface, an operating system type switch request; instantiate, using the instantiator, a further mobile communication device operating system instance in accordance with the operating system type change request; and persist the user content across both the mobile communication device operating system instance and the further mobile communication device operating system instance.
[23] According to another aspect, there is provided a mobile communication device operating system instance virtualisation server comprising an Internet network interface configured to send and receive data across the Internet; a mobile communication device operating system instance instantiator configured to instantiate a mobile communication device operating system instance; and a VOIP host, wherein, in use, the server is configured to authenticate, using the Internet network interface, a mobile communication device; instantiate, using the instantiator, a mobile communication device operating system instance associated with the mobile communication device; and initiate a VOIP session between the VOIP host and a VOIP client of the mobile communication device.
[24] The virtualisation server may further comprise a PSTN network interface adapted for connecting to a PSTN network and wherein, in use, when initiating the VoIP session, the server is further configured to establish a PSTN call using the PSTN network interface.
[25] The virtualisation server may further comprise a web server and wherein, in use, the server is further configured to serve, using the web server, HTTP content to a web browser application of the mobile communication device.
[26] The HTTP content may comprise JavaScript.
[27] The JavaScript may be configured to instantiate the VoIP client.
[28] The HTTP content may comprises HTML5 content.
[29] The VoIP session may use at least one of the H.323 and SIP protocols.
[30] The instantiator may be configured to instantiate a plurality of mobile communication device operating systems.
[31] The instantiator may be configured to instantiate a plurality of mobile communication device operating system types.
[32] The plurality of mobile communication device operating system types may comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types.
[33] When authenticating the mobile communication device, the instantiator may be configured to select one of the plurality of mobile communication device operating system types.
[34] The virtualisation server further comprises a user content database and wherein, in use, the server is configured to store user content received from the mobile communication device in the user content database.
[35] Other aspects of the invention are also disclosed.
[36] The virtualizision server may allow operating system native applications to run with the user interface render on the communication device via browser or customer application technologies.
Brief Description of the Drawings
[37] Notwithstanding any other forms which may fall within the scope of the present invention, preferred embodiments of the disclosure will now be described, by way of example only, with reference to the accompanying drawings in which:
[38] Figure 1 shows a system for mobile communication device operating system instance virtualisation in accordance with embodiments of the present disclosure; and
[39] Figure 2 shows the mobile communication device of Figure 1 in accordance with an embodiment of the present disclosure.
Description of Embodiments
[40] For the purposes of promoting an understanding of the principles in accordance with the disclosure, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the disclosure is thereby intended. Any alterations and further modifications of the inventive features illustrated herein, and any additional applications of the principles of the disclosure as illustrated herein, which would normally occur to one skilled in the relevant art and having possession of this disclosure, are to be considered within the scope of the disclosure.
[41] Before the structures, systems and associated methods relating to the mobile communication device operating system instance virtualisation server are disclosed and described, it is to be understood that this disclosure is not limited to the particular configurations and process steps disclosed herein as these may vary somewhat. It is also to be understood that the terminology employed herein is used for the purpose of describing particular embodiments only and is not
intended to be limiting since the scope of the disclosure will be limited only by the claims and equivalents thereof.
[42] In describing and claiming the subject matter of the disclosure, the following terminology will be used in accordance with the definitions set out below.
[43] It must be noted that, as used in this specification and the appended claims, the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise.
[44] As used herein, the terms "comprising," "including," "containing," "characterised by," and grammatical equivalents thereof are inclusive or open-ended terms that do not exclude additional, unrecited elements or method steps.
[45] It should be noted in the following description that like or the same reference numerals in different embodiments denote the same or similar features.
System 100 for mobile communication device operating system instance virtualisation [46] Referring to figure 1, there is shown a system 100 for mobile communication device operating systems instance virtualisation.
[47] The system 100 is configured to allow for "thin client" inexpensive mobile communication devices wherein, as opposed to existing arrangements wherein the mobile communication device executes a mobile communication device operating system, the mobile communication device rather executes a virtualisation client in communication with a virtualisation server, wherein the virtualisation server instantiates an instance of the mobile communication device operating system for the mobile communication device.
[48] In this manner, cost-effective mobile communication devices may be provided because the intensive computation is performed by the virtualisation server and the mobile communication device need only utilise a data network to perform the voice, video, display and other capabilities of existing mobile communication devices.
[49] Furthermore, the virtualisation server may be configured to instantiate different types of mobile computing device operating systems so as to cater for a wide range of mobile communication devices.
[50] Furthermore, the virtualisation server may receive operating system updates such that the virtualisation client mobile communication devices offer the latest operating system functionality.
[51] As such, the system 100 comprises a virtualisation server 140. In operable communication with the virtualisation server 140 across the Internet 120 is a plurality of mobile communication devices 115. These mobile communication devices 115 will be described in further detail below with reference to figure 2. However, it should be noted that the mobile communication devices 115
comprise the usual human interface components such as the digital display device, microphone, speaker and the like allow the user to interact with the virtualisation client mobile communication device 115 as if it were a standard mobile communication device 115.
[52] Furthermore, as will be described in further detail below, the virtualisation client mobile communication devices 115 are configured to execute a virtualisation client application, which, in a preferred embodiment comprises a web browser 110 and a VoIP client 105.
[53] It should be noted that while in a preferred embodiment, the virtualisation client mobile communication devices 115 are configured to execute the browser application 110, in other embodiments, the virtualisation client may be provided in other manners, including custom software applications, furthermore including those not necessarily employing HTTP for communication with the virtualisation server 140.
[54] As is evident, figure 1 shows a plurality of mobile communication devices 115. In this manner, it should be appreciated that the virtualisation server 140 is adapted for serving a plurality of mobile communication devices 115. As will be alluded to in further detail below, when authenticating with a particular mobile communication device 115, the virtualisation server 140 is configured to instantiate the appropriate mobile communication device operating system for each of the mobile communication devices 115.
[55] As is also evident, the mobile communication devices 115 are in operable communication with the virtualisation server 140 across a packet switched network, such as the Internet 120. In this manner, to achieve the functionality described herein, the mobile communication devices 150 need only comprise a data connection, which data connection may comprise differing data connection types including wired and wireless data connections. The wired data connections may comprise Wi- Fi data connections or cellular data connections such as 3G, 4G, LTE, 4.5G, 5G data connections and the like.
[56] Furthermore, as is apparent, the virtualisation server 140 comprises a PSTN interface 160 for interfacing with a PSTN network 125. The PSTN interface 160 is configured to allow the interface between the VoIP call between the mobile communication device 115 and the virtualisation server 140 and the circuit switched call between the virtualisation server 140 and the PSTN network 125.
[57] It should be noted that in other embodiments, as opposed to terminating at a PSTN network 125, the virtualisation server 140 may also connect calls having VoIP endpoints.
[58] As alluded to above, the virtualisation server 140 is configured to instantiate a plurality of mobile communication device operating system instances 145 for the plurality of mobile communication devices 115.
[59] As such, as is shown in figure 1, the virtualisation server 140 is configured to instantiate a plurality of mobile communication device operating system type instances referred to in the figure as OSl to OSn. It should be appreciated that any number of operating system type instances may be instantiated by the virtualisation server. These mobile communication device operating system types 150 may include the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types 150. It should be appreciated that other operating system types may be implemented also.
[60] Furthermore, within each mobile communication device type operating system instantiation 150, there may be a plurality of mobile communication device instances 145, each corresponding to a particular mobile communication device 115.
[61] Each mobile communication device instance 145 may implement various mobile communication device applications to emulate the traditional application execution process. It should be noted that in addition to emulating mobile communication device software applications, the virtualisation server 140 may be configured to instantiate web applications or third-party cloud- based applications for the mobile communication device instances 145.
[62] In embodiments, a user may hold multiple virtual mobile communication device instances 145 and swap or switch between these instances 145 while maintaining common settings, including user specified settings and the like.
[63] For example, the user could utilise an Apple iPhone but switch across to an Android device upon request while still maintaining phone contacts, other settings and the like.
[64] In this regard, the virtualisation server 140 may execute the multiple mobile communication device instances 145 simultaneously for a user. In this manner, a user may authenticate with multiple mobile communication device instances 145 simultaneously.
[65] The virtualisation server 140 further implements a VoIP host 130 adapted for initiating VoIP sessions between the VoIP host 130 and the VoIP client 105 of the mobile communication device 115.
[66] Furthermore, in one embodiment, server 140 comprises a web server 135 configured to serve HTTP (including secured HTTPS content) content to the mobile communication device 115. In this regard, and as alluded to above, in a preferred embodiment, the mobile communication device 115 executes a web browser 110 configured to receive HTTP content from the web server 135. The HTTP content may comprise client side code/scripting such as JavaScript, HTM L5 and the like configured to instantiate the VoIP client 105, such as a H.323 or SIP JavaScript client.
[67] In embodiments, the web browser 110 is configured to render the display in accordance with the HTTP content. However, in other embodiments, especially for visual intensive mobile
communication device software applications where HTTP rendering would be inadequate, the virtualisation server 140 may be configured to stream the display (and other data such as audio data) to the mobile communication device 150.
[68] In this manner, on one preferred embodiment, the mobile communication device 150 need only execute the web browser 110 to implement the functionality described herein, including the display functionality, VoIP functionality (which VoIP functionality includes audio and video VoIP functionality) and the like.
[69] Furthermore, the virtualisation server 140 may comprise an operating system database 155 configured to store various mobile communication device operating system types 150. In this manner, when authenticating with a mobile communication device 115, the virtualisation server 140 may retrieve, from the operating system database 115 the bootstrap code for instantiating the appropriate mobile communication device operating system for the mobile communication device 115.
[70] Furthermore, the virtualisation server 140 comprises a user content database 165 configured to store user content which would otherwise be stored on the mobile communication device 115 in accordance with existing arrangements, such as contacts, user preferences, system preferences and the like.
[71] In this manner, when searching for a telephone contact for example, as opposed to searching a memory device of the mobile communication device 115, the mobile communication device 115 sends a telephone contact search query to the virtualisation server 140 such that the virtualisation server is able to retrieve and return to the mobile communication device 115 the appropriate telephone contact from the user content database 165. As alluded to above, where the virtualisation server 140 is configured to execute multiple mobile communication device instances 145 for a user, the contacts may be persisted across the instances 145.
Mobile com mu nication device
[72] Fig. 2 shows the mobile communication device 115 in further detail. The virtualisation server client functionality, as described herein, including in implementing the web browser 110 and VoIP client 105, may be implemented as computer program code instructions executable by the computing device 115. The computer program code instructions may be divided into one or more computer program code instruction libraries, such as dynamic link libraries (DLL), wherein each of the libraries performs a one or more steps of the method. Additionally, a subset of the one or more of the libraries may perform graphical user interface tasks relating to the steps of the method.
[73] The device 115 comprises semiconductor memory 210 comprising volatile memory such as random access memory (RAM), read only memory (ROM), flash memory and the like. The memory 210 may comprise either RAM or ROM or a combination of RAM and ROM.
[74] The device 115 comprises a computer program code storage medium reader 260 for reading the computer program code instructions from computer program code storage media to 65. The storage media 265.
[75] The device further comprises I/O interface 235 for communicating with one or more peripheral devices. The I/O interface 235 may offer both serial and parallel interface connectivity. For example, the I/O interface 235 may comprise a Small Computer System Interface (SCSI), Universal Serial Bus (USB) or similar I/O interface for interfacing with the storage medium reader 260. The I/O interface 235 may also communicate with one or more human input devices (HID) 255 such as keyboards, pointing devices, touch sensitive overlays and the like. The I/O interface 235 may also comprise a computer to computer interface, such as a Recommended Standard 232 (RS-232) interface, for interfacing the device 115 with one or more personal computer (PC) devices 250. The I/O interface 235 may also comprise an audio interface for communicate audio signals to one or more audio devices 245, such as a speaker or a buzzer.
[76] The device 115 also comprises a network interface 240 for communicating with the Internet 120.
[77] The device 115 comprises an arithmetic logic unit or processor 220 for performing the computer program code instructions. The processor 220 may be a reduced instruction set computer (RISC) or complex instruction set computer (CISC) processor or the like.
[78] Computer program code instructions may be loaded from the storage media 265 using the storage medium reader 260 or from the network 270 using network interface 240. During the bootstrap phase, the web browser 110 code is loaded from memory 210. During the fetch-decode- execute cycle, the processor 220 fetches computer program code instructions from memory 210, decodes the instructions into machine code, executes the instructions and stores one or more intermediate results in memory 210.
[79] In this manner, the instructions stored in the memory 210, when retrieved and executed by the processor 220, may configure the computing device 115 as a special-purpose machine that may perform the functions described herein.
[80] The device 115 also comprises a video interface 215 for conveying video signals to a display device 205, such as a liquid crystal display (LCD), cathode-ray tube (CRT) or similar display device.
[81] The device 115 also comprises a communication bus subsystem 225 for interconnecting the various devices described above. The bus subsystem 225 may offer parallel connectivity such as
Industry Standard Architecture (ISA), conventional Peripheral Component Interconnect (PCI) and the like or serial connectivity such as PCI Express (PCIe), Serial Advanced Technology Attachment (Serial ATA) and the like.
In use example embodiment
[82] Given the technical architecture described above, there will now be described an exemplary embodiment for illustrative purposes. It should be noted that this embodiment is exemplary only and that no technical limitation necessarily be imputed to the embodiments described herein.
[83] In accordance with this exemplary embodiment, a user would purchase a virtualisation client mobile communication device 115. Given the significant processing power savings afforded by the virtualisation client mobile communication device 115, the virtualisation client mobile communication device may be provided at a low cost, or even for free upon subscription to a subscription plan or the like.
[84] The mobile communication device 115 would be provided with a web browser 110 configured to implement the functionality herein. Preferably, the browser application is configured for executing client side code, such as HTML5, Javascript and the like which may be used for rendering dynamic graphical user interfaces, instantiating the VoIP client 105 and the like.
[85] Upon first use of the mobile communication device 115, the web browser 110 may be configured to browse to a registration URL provided by the virtualisation server 140. Using the registration resource, the user may configure user authentication credentials, user preferences and the like.
[86] For example, for the user authentication credentials, the user may be able to input username and password combinations and the like. In other embodiments, as opposed to requiring user authentication credentials, the virtualisation server 140 may be configured to inspect other IDs, such as MAC address, IP address and the like for the purposes of identifying the particular mobile communication device 115.
[87] For the user preferences, the user may input is a preferences such as locale, contact preferences and the like.
[88] As such, once registered with the virtualisation server 140 and this manner, the mobile communication device 115 is able to provide traditional mobile communication device functionality.
[89] Specifically, and as alluded to above, the virtualisation server 140 comprises an Internet network interface adapted for sending and receiving data across the Internet 120. Furthermore, the virtualisation server 140 further comprises a mobile communication device operating system
instance 145 instantiator configured to instantiate a mobile communication device operating system. Furthermore, the virtualisation server 140 comprises the VoIP host 130.
[90] In use, and subsequent to registration, the server 140 is configured to authenticate, across the Internet network interface, the mobile communication device 115 and then instantiate, using the instantiator, a mobile communication device operating system instance 145 associated with the mobile communication device.
[91] Once the mobile communication device operating system instance 145 has been instantiated, the server 140 is configured to send, via the Internet network interface, graphical user interface data to the mobile communication device configured to allow the mobile communication device 115 to display a graphical user interface substantially emulating the operation of the mobile communication device operating system instance.
[92] In a preferred embodiment, the graphical user interface is configured for allowing the placing a call. In this manner, the server 140 is configured to receive, via the Internet network interface, a call placement request from the mobile communication device and accordingly initiate a VoIP session between the VoIP host 130 and the VoIP client 105 of the mobile communication device 115.
[93] For calls established, the virtualisation server 145 would calculate call costs and update telephone usage bill data associated with the mobile communication device 115.
[94] In this manner, the user may use the mobile communication device 115 to make voice and video calls in the usual manner.
[95] Furthermore, should the user wish to make a call to a traditional PSTN endpoint, the virtualisation server 140 further comprises a PSTN interface 160 for connecting to the PSTN network 125. In this manner, in use, when initiating the VoIP session, the virtualisation server 140 is further configured to establish a PSTN call using the PSTN network interface.
[96] Now, as alluded to above, in a preferred embodiment, the system 100 utilises HTTP for the purposes of communicating between the mobile communication device 115 and the web server 140. In this manner, in use, the web browser 110 may render HTTP pages configured to replicate the user interface of traditional mobile communication devices, such as the keypad, telephone contacts and the like.
[97] Furthermore, the web browser 110 may implement asynchronous techniques such as Ajax for the purpose of replicating the user experience of a traditional mobile communication device interface by avoiding HTTP page refreshes using asynchronous requests to the virtualisation server 140, such as for example, by sending an asynchronous request to the virtualisation server 140 upon a keypress of a key of the keypad displayed by the web browser 110.
[98] As such, for the purposes of utilising HTTP, the virtualisation server 140 comprises the web server 135. Upon authenticating the mobile communication device 115, the web server 135 is configured to serve, to the web browser 110 of the mobile communication device 115 appropriate HTTP content for the purposes of rendering the mobile communication device user interface and managing the VoIP functionality.
[99] In a preferred embodiment, the HTTP content comprises client side scripting, such as JavaScript or other client technology. In this manner, the client side scripting may instantiate the VoIP client 105 without the need for additional VoIP client applications.
[100] Further preferably, the HTTP content comprises HTML5 content so as to provide the functionality and advantages associated with the HTML 5 specification.
[101] In a preferred embodiment, the virtualisation server 140 is configured to instantiate VoIP sessions using differing VoIP protocols such as the H.323 and SIP protocols or other proprietry or industry based VoIP protocol.
[102] Now, when purchasing the mobile communication device 115, the user may select which mobile communication device operating system the user would like to utilise. In this manner, the virtualisation server 140 instantiator is configured to instantiate a plurality of mobile communication device operating system types 150. As alluded to above, these mobile communication device operating system types 150 comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types 150.
[103] As such, upon authenticating with the mobile communication device 115, the virtualisation server 140 would retrieve, from the operating system database 155, the appropriate mobile communication device operating system bootstrap code for instantiating the mobile communication device operating system instance 145 for association with the mobile communication device 115.
[104] It should be noted that in embodiments the operating system database 155 may comprise a plurality of mobile communication device operating system versions, so as to allow the instantiator to select the appropriate version for the mobile communication device 115, which version may be determined in accordance with a user preference, hardware capability of the mobile communication device 115 and the like.
[105] Once the mobile communication device operating system instance 145 has been instantiated by the virtualisation server 140 instantiator the virtualisation server 140 would then send HTTP content to the mobile communication device 115 for the purposes of rendering the graphical user interface and instantiating the VoIP client 105.
[106] In a preferred embodiment, the operating system database 155 is configured to receive periodic operating system updates. In this manner, the system 100 is configured to provide the latest operating systems for the mobile communication devices 115 thereby negating the traditional updating of the operating system on the mobile communication device 115 itself.
[107] Now, should the user wish to record telephone contact information for a new telephone contact, the user could input the contact information into the user interface of the mobile communication device 115. In this manner, as opposed to storing the telephone contact information in the memory device of the mobile can medication device 115, the mobile communication device 115 would transmit the telephone contact data to the virtualisation server 140 for storage in the user content database 165. In this manner, upon subsequent searching for the telephone contact, the mobile communication device 115 would send telephone contact search query data to the virtualisation server 140 for the purposes of searching for the matching telephone contact within the user content database 165.
[108] In another embodiment, the user content database 165 may be adapted for storing other user content, as opposed to telephone contact data. Specifically, the user content database 165 may be adapted for storing user preferences, system settings and the like.
[109] In embodiments, the server 140 is configured for receiving and operating system type switch request from a user, such as where, for example, a user wishes to switch from an Apple to Android operating system. As such, the server 140 may instantiate the android operating system if not already instantiated and send updated graphical user interface data to the mobile communication device 115 to allow the mobile communication device 115 to display a graphical user interface substantially in relating the Android operating system.
[110] Furthermore, in a preferred embodiment, the server 140 is configured to persist user settings the two operating system types such that the user is able to access the users settings are contact, such as contact information such as phone numbers and the like despite switching between operating systems.
Interpretation
Wireless:
[111] The invention may be embodied using devices conforming to other network standards and for other applications, including, for example other WLAN standards and other wireless standards. Applications that can be accommodated include IEEE 802.11 wireless LANs and links, and wireless Ethernet.
[112] In the context of this document, the term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a non-solid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. In the context of this document, the term "wired" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a solid medium. The term does not imply that the associated devices are coupled by electrically conductive wires.
Processes:
[113] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing", "computing", "calculating", "determining", "analysing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.
Processor:
[114] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing device" or a "computing machine" or a "computing platform" may include one or more processors.
[115] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing
system that includes one or more processors. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM.
Computer-Readable Medium :
[116] Furthermore, a computer-readable carrier medium may form, or be included in a computer program product. A computer program product can be stored on a computer usable carrier medium, the computer program product comprising a computer readable program means for causing a processor to perform a method as described herein.
Networked or Multiple Processors:
[117] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
[118] Note that while some diagram(s) only show(s) a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
Additional Embodiments:
[119] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that are for execution on one or more processors. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause a processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form
of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.
Carrier Medium :
[120] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an example embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media.
Implementation :
[121] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.
Means For Carrying out a Method or Function
[122] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a processor device, computer system, or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention.
Connected
[123] Similarly, it is to be noticed that the term connected, when used in the claims, should not be interpreted as being limitative to direct connections only. Thus, the scope of the expression a device A connected to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of
A and an input of B which may be a path including other devices or means. "Connected" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.
Embodiments:
[124] Reference throughout this specification to "one embodiment" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.
[125] Similarly it should be appreciated that in the above description of example embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description of Specific Embodiments are hereby expressly incorporated into this Detailed Description of Specific Embodiments, with each claim standing on its own as a separate embodiment of this invention.
[126] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.
Different Instances of Objects
[127] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
Specific Details
[128] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Terminology
[129] In describing the preferred embodiment of the invention illustrated in the drawings, specific terminology will be resorted to for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar technical purpose. Terms such as "forward", "rearward", "radially", "peripherally", "upwardly", "downwardly", and the like are used as words of convenience to provide reference points and are not to be construed as limiting terms.
Comprising and Including
[130] In the claims which follow and in the preceding description of the invention, except where the context requires otherwise due to express language or necessary implication, the word "comprise" or variations such as "comprises" or "comprising" are used in an inclusive sense, i.e. to specify the presence of the stated features but not to preclude the presence or addition of further features in various embodiments of the invention.
[131] Any one of the terms: including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.
Scope of Invention
[132] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognize that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as fall within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.
[133] Although the invention has been described with reference to specific examples, it will be appreciated by those skilled in the art that the invention may be embodied in many other forms.
Industrial Applicability
[134] It is apparent from the above, that the arrangements described are applicable to the telephony industries.
Claims
1. A mobile communication device operating system instance virtualisation server comprising: an Internet network interface configured to send and receive data across the Internet; a mobile communication device operating system instance instantiator configured to instantiate a mobile communication device operating system instance; and
a VOIP host, wherein, in use, the server is configured to:
authenticate, via the Internet network interface, a mobile communication device;
instantiate, using the instantiator, a mobile communication device operating system instance associated with the mobile communication device;
send, via the Internet network interface, graphical user interface data to the mobile communication device configured to allow the mobile communication device to display a graphical user interface substantially emulating the operation of the mobile communication device operating system instance, the graphical user interface configured for allowing the placing a call;
receive, via the Internet network interface, a call placement request from the mobile communication device; and
initiate, via the Internet network interface, a VOIP session between the VOIP host and a VOIP client of the mobile communication device.
2. A virtualisation server as claimed in claim 1, further comprising a PSTN network interface adapted for connecting to a PSTN network and wherein the VOIP host is configured for interfacing with the PSTN network interface.
3. A virtualisation server as claimed in claim 1, wherein the server is further configured for implementing call metering for the duration of the VOIP session.
4. A virtualisation server as claimed in claim 1, wherein the graphical user interface data is configured for rendering by a web browser application executing on the mobile communication device.
5. A virtualisation server as claimed in claim 4, wherein the graphical user interface data comprises client side scripting.
6. A virtualisation server as claimed in claim 5, wherein the client side scripting is configured for instantiating the VoIP client.
7. A virtualisation server as claimed in claim 5, wherein the client side scripting comprises at least one of JavaScript and HTML5.
8. A virtualisation server as claimed in claim 1, wherein the VoIP session uses at least one of the H.323 and SIP protocols.
9. A virtualisation server as claimed in claim 1, wherein, in use, the server is configured to:
authenticate, via the Internet network interface, a further mobile communication device; instantiate, using the instantiator, a further mobile communication device operating system instance associated with the further mobile communication device.
10. A virtualisation server as claimed in claim 9, wherein the mobile communication device operating system is a different type of operating system as compared to the further mobile communication device operating system.
11. A virtualisation server as claimed in claim 10, further comprising a user specified configuration settings database and wherein, in use, the server is configured to select the type of operating system in accordance with the user specified configuration settings.
12. A virtualisation server as claimed in claim 1, wherein the mobile communication device operating system is a different version of operating system as compared to the further mobile communication device operating system.
13. A virtualisation server as claimed in claim 12, further comprising a user specified configuration settings database and wherein, in use, the server is configured to select the operating system version in accordance with the user specified configuration settings.
14. A virtualisation server as claimed in claim 9, wherein the plurality of mobile communication device operating system types comprise at least one of the Android, iOS, Windows Phone, Firefox OS, Sailfish OS, Tizen, Ubuntu Touch OS and Blackberry mobile communication device operating system types.
15. A virtualisation server as claimed in claim 1, further comprising a user content database and wherein, in use, the server is configured to store user content received from the mobile communication device in the user content database.
16. A virtualisation server as claimed in claim 15, wherein the user contact comprises at least contacts information
17. A virtualisation server as claimed in claim 16, wherein, in use, the server is configured to: receive, via the Internet network interface, an operating system type switch request;
instantiate, using the instantiator, a further mobile communication device operating system instance in accordance with the operating system type change request; and
persist the user content across both the mobile communication device operating system instance and the further mobile communication device operating system instance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2017100404A AU2017100404A4 (en) | 2014-10-10 | 2017-04-10 | A mobile communication device operating system instance virtualisation server |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2014904045A AU2014904045A0 (en) | 2014-10-10 | A mobile communication device operating system instance virtualisation server | |
AU2014904045 | 2014-10-10 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
AU2017100404A Division AU2017100404A4 (en) | 2014-10-10 | 2017-04-10 | A mobile communication device operating system instance virtualisation server |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016054699A1 true WO2016054699A1 (en) | 2016-04-14 |
Family
ID=55652405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/AU2015/050617 WO2016054699A1 (en) | 2014-10-10 | 2015-10-10 | A mobile communication device operating system instance virtualisation server |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2016054699A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180139297A1 (en) * | 2016-11-16 | 2018-05-17 | Oath (Americas) Inc. | SYSTEMS AND METHODS FOR TRACKING DEVICE IDs FOR VIRTUALIZED APPLICATIONS |
CN109359044A (en) * | 2018-10-10 | 2019-02-19 | 四川长虹电器股份有限公司 | It is a kind of based on codeception towards automation system for testing |
CN112068897A (en) * | 2020-08-16 | 2020-12-11 | 北京麟卓信息科技有限公司 | Android application file loading method and device based on mouse key simulation |
US11418931B2 (en) | 2020-04-06 | 2022-08-16 | Dell Products, Lp | Method and apparatus for operating a thin client across a 5G infrastructure |
US12335738B2 (en) | 2023-05-21 | 2025-06-17 | Uxstream Ab | System and method for real-time applications over wireless networks |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090036111A1 (en) * | 2007-07-30 | 2009-02-05 | Mobile Iron, Inc. | Virtual Instance Architecture for Mobile Device Management Systems |
US20130086202A1 (en) * | 2011-09-29 | 2013-04-04 | Comcast Cable Communications, Llc | Multiple Virtual Machines in a Mobile Virtualization Platform |
US20130324099A1 (en) * | 2012-05-31 | 2013-12-05 | Emblaze Ltd. | System and Method for Running Mobile Devices in the Cloud |
-
2015
- 2015-10-10 WO PCT/AU2015/050617 patent/WO2016054699A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090036111A1 (en) * | 2007-07-30 | 2009-02-05 | Mobile Iron, Inc. | Virtual Instance Architecture for Mobile Device Management Systems |
US20130086202A1 (en) * | 2011-09-29 | 2013-04-04 | Comcast Cable Communications, Llc | Multiple Virtual Machines in a Mobile Virtualization Platform |
US20130324099A1 (en) * | 2012-05-31 | 2013-12-05 | Emblaze Ltd. | System and Method for Running Mobile Devices in the Cloud |
Non-Patent Citations (1)
Title |
---|
ALLEN, M., PALM WEBOS, August 2009 (2009-08-01), ISBN: 978-0-596-15525-4 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180139297A1 (en) * | 2016-11-16 | 2018-05-17 | Oath (Americas) Inc. | SYSTEMS AND METHODS FOR TRACKING DEVICE IDs FOR VIRTUALIZED APPLICATIONS |
US11637907B2 (en) * | 2016-11-16 | 2023-04-25 | Verizon Patent And Licensing Inc. | Systems and methods for tracking device IDs for virtualized applications |
CN109359044A (en) * | 2018-10-10 | 2019-02-19 | 四川长虹电器股份有限公司 | It is a kind of based on codeception towards automation system for testing |
CN109359044B (en) * | 2018-10-10 | 2022-02-22 | 四川长虹电器股份有限公司 | Codecep-based test-oriented automation system |
US11418931B2 (en) | 2020-04-06 | 2022-08-16 | Dell Products, Lp | Method and apparatus for operating a thin client across a 5G infrastructure |
CN112068897A (en) * | 2020-08-16 | 2020-12-11 | 北京麟卓信息科技有限公司 | Android application file loading method and device based on mouse key simulation |
US12335738B2 (en) | 2023-05-21 | 2025-06-17 | Uxstream Ab | System and method for real-time applications over wireless networks |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11740924B2 (en) | System and method for implementing network experience shifting | |
JP6726426B2 (en) | Login-free method and device between terminals | |
JP6647388B2 (en) | Method, procedure and framework for provisioning an eSIM using primary account information and enabling multi-SIM | |
US10250646B2 (en) | Method and device for establishing channel | |
USRE45363E1 (en) | Method and apparatus for network access | |
US9491563B1 (en) | Pre-provisioning mobile application acquisition and utilization | |
WO2016054699A1 (en) | A mobile communication device operating system instance virtualisation server | |
CN109314736A (en) | A kind of communication means that realizing dual-card dual-standby dual-pass and terminal | |
CN108810123B (en) | Method and device for activating mobile cellular network service | |
CN104077162A (en) | Mobile terminal application template updating and issuing method and device | |
CN105828395A (en) | Method and device of WiFi adaptive selection and connection | |
WO2016188181A1 (en) | Test method, mobile terminal, server and computer storage medium | |
US12159129B2 (en) | Method, user equipment, and application server for downloading application | |
WO2021121271A1 (en) | Method and device for loading carrier configuration file, mobile terminal, and storage medium | |
US20170325092A1 (en) | Discovery mechanism for service server connection | |
CN105515745B (en) | A kind of method and device of radio frequency link control | |
CN104202432B (en) | Remote web management system and management method | |
CN108370500B (en) | Optimized settings for wireless devices | |
US9674149B2 (en) | System and method for establishing a virtual private network of a mobile device through a preferred network | |
AU2017100404A4 (en) | A mobile communication device operating system instance virtualisation server | |
CN104182331A (en) | Browser performance test method, browser performance test system and terminal | |
CN112416617A (en) | Control method and device of Bluetooth equipment, storage medium and electronic device | |
KR102264193B1 (en) | Electronic apparatus and method for providing an emergency call, and server therefor | |
CN109587279A (en) | A kind of transmission method of request, device, equipment, medium and system | |
CN115277815A (en) | Information processing method, device and communication equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15849060 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 15849060 Country of ref document: EP Kind code of ref document: A1 |