WO2013055742A1 - Methods and systems of providing items to customers via a network - Google Patents
Methods and systems of providing items to customers via a network Download PDFInfo
- Publication number
- WO2013055742A1 WO2013055742A1 PCT/US2012/059470 US2012059470W WO2013055742A1 WO 2013055742 A1 WO2013055742 A1 WO 2013055742A1 US 2012059470 W US2012059470 W US 2012059470W WO 2013055742 A1 WO2013055742 A1 WO 2013055742A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- network
- data
- simulated
- physical
- emulator
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2340/00—Aspects of display data processing
- G09G2340/04—Changes in size, position or resolution of an image
- G09G2340/0492—Change of orientation of the displayed image, e.g. upside-down, mirrored
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
- G09G2370/022—Centralised management of display operation, e.g. in a server instead of locally
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
Definitions
- This disclosure relates generally to the field of electronic commerce and, more specifically, this disclosure pertains to the field of presenting video or other dynamic media.
- videos are used in electronic commerce (e-commerce) on web sites to promote products and provide information to customers that visit the e-commerce site.
- the content of videos are static in that they only display non-dynamic content of a video file. For example, a user can start, pause, rewind, and play the video again, but the content does not change.
- the video will typically be included in a web page with other content such as text and/or graphics.
- the chat portal may contain real-time streaming video between a customer (e.g., a user) and the service representative of the retailer, but the chat portal is not connected, in any manner, to the video player or three-dimensional viewer.
- FIG. 1 provides a block diagram of a network communications system, according to one or more embodiments
- FIGs. 2A-2D provide block diagrams of a computing device, according to one or more embodiments
- FIG. 3 illustrates an exemplary client interface, according to one or more embodiments
- FIGs. 4A-4E provide exemplary diagrams of a media interface displaying an object, according to one or more embodiments
- FIG. 5 A provides an exemplary diagram of rotations of an object, according to one or more embodiments
- FIGs. 5B-5I provide a series of two-dimensional graphics representing rotations of an object, according to one or more embodiments
- FIGs. 5J and 5K provide exemplary diagrams of a path of a pointer, according to one or more embodiments
- FIG. 5L provides a method of displaying multiple images, according to one or more embodiments
- FIG. 5M provides an exemplary diagram of multiple positions of a path of pointer, according to one or more embodiments
- FIG. 5N provides an exemplary diagram of multiple vectors that can be determined from multiple positions of a path of pointer, according to one or more embodiments
- FIG. 50 provides exemplary diagrams of sectors, according to one or more embodiments.
- FIGs. 5P and 5Q provide exemplary diagrams of vectors intersecting sectors, according to one or more embodiments
- FIG. 5R provides a method of returning to a home frame, according to one or more embodiments
- FIGs. 5S and 5T provide exemplary images associated with and/or corresponding to frames, according to one or more embodiments
- FIGs. 6A-6C provide exemplary diagrams of a simulated object, according to one or more embodiments;
- FIG. 6D provides an exemplary diagram of a simulated object with operational aids, according to one or more embodiments;
- FIG. 6E provides an exemplary diagram of a network system that supports physical device emulation, according to one or more embodiments;
- FIG. 6F provides a method of operating an application programming interface server application, according to one or more embodiments;
- FIG. 6G provides a method of operating emulator server application, according to one or more embodiments.
- FIG. 6H provides a method of operating another emulator server application, according to one or more embodiments.
- FIG. 61 provides a method of operating a client that can interact with an emulator, according to one or more embodiments
- FIG. 6J provides a method of providing multiple simulated objects to multiple CCDs, according to one or more embodiments;
- FIGs. 7A-7C provide exemplary diagrams of an interactive media interface, according to one or more embodiments;
- FIGs. 7D-7G illustrate a method of operating a media server interface, according to one or more embodiments
- FIG. 8 provides a block diagram of an exemplary process of transforming image data associated with an object into data that can be utilized by a media interface, according to one or more embodiments
- FIG. 9 illustrates a method of transforming image data of a two-dimensional shape into meta data of the shape, according to one or more embodiments
- FIG. 10 provides an exemplary diagram of a two-dimensional shape covered by circles that lie on a polygon
- FIG. 1 1A provides an exemplary diagram of an exemplary radius at a first angle, according to one or more embodiments
- FIG. 1 1B provides an exemplary diagram of an exemplary radius at a second angle, according to one or more embodiments;
- FIG. l lC provides an exemplary diagram of an exemplary radius at a third angle, according to one or more embodiments;
- FIG. 12 illustrates a method of transforming image data of a three-dimensional shape into meta data of the shape, according to one or more embodiments;
- FIG. 13A provides an exemplary diagram of a shape enclosed by a polyhedron, according to one or more embodiments;
- FIGs. 13B and 13C provide exemplary diagrams of spheres that cover a shape and lie on edges of a polyhedron, according to one or more embodiments;
- FIG. 14A provides an exemplary diagram of a radius of a sphere at a first angle of a first spherical dimension and a second angle of a second spherical dimension, according to one or more embodiments;
- FIG. 14B provides an exemplary diagram of a different perspective of a radius of a sphere at a first angle of a first spherical dimension, according to one or more embodiments
- FIG. 14C provides an exemplary diagram of a different perspective of a radius of a sphere at a second angle of a second spherical dimension, according to one or more embodiments
- FIG. 15 illustrates another method of transforming image data of a three-dimensional shape into meta data of the shape, according to one or more embodiments
- FIG. 16A provides an exemplary diagram of a shape enclosed by a cube, according to one or more embodiments;
- FIG. 16B provides an exemplary diagram of centers of spheres that lie on an edge of a cube, according to one or more embodiments;
- FIG. 16C provides an exemplary diagram of centers of spheres that lie on edges of a cube, according to one or more embodiments
- FIG. 16D provides an exemplary diagram of centers of a sphere that lie on a face of a cube, according to one or more embodiments
- FIG. 16E provides an exemplary diagram of centers of spheres that lie on faces of a cube and centers spheres that lie on edges of the cube, according to one or more embodiments;
- FIG. 16F provides an exemplary diagram of a radius of a sphere at a first angle of a first spherical dimension and a second angle of a second spherical dimension, according to one or more embodiments;
- FIG. 16G provides an exemplary diagram of a different perspective of a radius of a sphere at a first angle of a first spherical dimension, according to one or more embodiments
- FIG. 16H provides an exemplary diagram of a different perspective of a radius of a sphere at a second angle of a second spherical dimension, according to one or more embodiments
- FIG. 17 illustrates a method of reducing data associated with a shape, according to one or more embodiments
- FIG. 18 illustrates a method of producing a shape from reduced data associated with the shape, according to one or more embodiments
- FIG. 19 illustrates a network system that supports storage of data and configurations of physical devices and emulation of the physical devices, according to one or more embodiments
- FIGs. 20-22 provide exemplary network system diagrams of storing mobile device data, according to one or more embodiments.
- FIGs. 23-25 provide exemplary network system diagrams of restoring mobile device data, according to one or more embodiments.
- FIGs. 26-28 provide exemplary network system diagrams of restoring/storing mobile device data to new mobile devices, according to one or more embodiments;
- FIG. 29 illustrates a network system that supports installation of data and configurations of one or more physical mobile devices to one or more respective emulators, according to one or more embodiments;
- FIGs. 30-32 provide exemplary local network system diagrams of storing mobile device data, according to one or more embodiments;
- FIGs. 33-35 provide exemplary local network system diagrams of restoring mobile device data, according to one or more embodiments;
- FIGs. 36 and 37 illustrates a network systems that supports storage of data and configurations of physical mobile devices, according to one or more embodiments;
- FIGs. 38-40 provide exemplary network system diagrams of restoring storing mobile device data to new mobile devices, according to one or more embodiments;
- FIG. 41 illustrates a local network system that supports installation of data and configurations and utilization of an emulator, according to one or more embodiments;
- FIGs. 42 and 43 illustrate an exemplary computing devices, according to one or more embodiments;
- FIG. 44 illustrates a network system that supports installation of data and configurations and utilization of multiple emulators, according to one or more embodiments
- FIG. 45 illustrates an exemplary computing system, according to one or more embodiments
- FIG. 46 provides a method of a computer system receiving and storing mobile device data, according to one or more embodiments
- FIG. 47 provides a method of a mobile device receiving and storing mobile device data, according to one or more embodiments;
- FIGs. 48 and 49 provide methods of transforming telecommunications signals, according to one or more embodiments;
- FIGs. 50 and 51 provide methods of utilizing an emulator as a telephony device, according to one or more embodiments.
- a graphical user interface can be provided to a customer (e.g., a user) on a computer, mobile telephone, or other computing device, and the GUI can allow the customer to interact with a simulated object (e.g., a computer system, a digital music player, a wireless telephone, an article of clothing, jewelry, software, etc.) via a public network.
- the public network can include one or more of an Internet, a cellular communications network (e.g., a cellular telephone network), a satellite communications network (e.g., a satellite telephone communications network), and a wireless metropolitan network (e.g., a WiMax network), among others.
- data can be provided to the GUI allowing the GUI to respond to customer input (e.g., user input) provided via a mouse, pointing device, touch screen, voice recognition system, or other instrument for user input to a GUI.
- customer input e.g., user input
- the data provided to the GUI can enable the GUI to provide multiple images of the object, at different viewing angles, to the customer in response to the customer input, thereby presenting a simulation of the object in the GUI's.
- the data provided to the GUI can include a multiple dimension matrix of two-dimensional images of the object, where the two-dimensional images can include images of the object at different viewing angles.
- the multiple dimension matrix When the multiple dimension matrix is presented to the user via the GUI, it can provide a seemingly non-discontinuous presentation of the object to the customer as the customer changes viewing angles, according to one or more embodiments. Further, this system can reduce one or more of computation time and network bandwidth, according to one or more embodiments.
- the GUI can provide, to the customer, a simulated object configured to demonstrate one or more aspects, operations, and/or features of the object and can be configured with information associated with a profile of the customer to represent the one or more aspects, operations, and/or features of the object that are associated with the profile of the customer.
- the profile of the customer can include one or more of a sport, a gender, a yearly income, an automobile type, a marital status, a credit history, a past transaction, a past purchase, a music genre, an interest, an employment status, an age, a height, a weight, a hair color, an eye color, a shoe size, a dress size, a waist size, an inseam size, a breast size, a chest size, and a membership, among others.
- a sport a gender, a yearly income, an automobile type, a marital status, a credit history, a past transaction, a past purchase, a music genre, an interest, an employment status, an age, a height, a weight, a hair color, an eye color, a shoe size, a dress size, a waist size, an inseam size, a breast size, a chest size, and a membership, among others.
- the GUI can provide, to the customer, an interactive communications feature.
- the interactive communications feature can provide the customer with a video of a service representative.
- a customer service representative can interact with the customer directly via the interactive communications feature.
- the customer service representative can interact with the customer by controlling the GUI via a remotely located computer system (e.g., remotely located with respect to a location of the customer and/or the customer service representative), according to one or embodiments.
- the customer service representative can demonstrate one or more features and/or explain one or more functions of the object.
- the customer service representative can control the GUI to highlight one or more features of the object and/or rotate the object to a specific view of the object.
- the customer service representative can control the GUI to manipulate the multiple dimension matrix or forward or reverse a video of or associated with the object to a particular frame of the video.
- a first application executing on a computing device of the customer can provide and/or control the GUI, and the customer service representative can remotely control the first application, via the public network, and/or instantiate or launch a second application on the computing device of the customer.
- the customer service representative can interact with the customer in a unicast fashion.
- the customer service representative can demonstrate, to the customer, the one or more features and/or explain the one or more functions of the object, via the customer's computing device, without demonstrating the one or more features and/or explaining the one or more functions of the object, via other customers' computing devices, to the other customers that can access and/or interact with the simulated object via the public network.
- the computing device of the customer can be identified via one or more identifiers, and the customer service representative can interact with the customer via the customer's computing device identified via the one or more identifiers.
- the one or more identifiers can include one or more of a network identifier, a port identifier, a sequence identifier, a next sequence identifier, a certificate identifier, and a hash identifier, among others.
- the network identifier can include a network address.
- the network address can include one or more of an Internet protocol (IP) address (e.g., an IP version 4 address, an IP version 6 address, etc.), a media access control (MAC) address, an electronic serial number (ESN), a mobile information number ( ⁇ ), and a mobile directory number (MDN), among others.
- IP Internet protocol
- the port identifier can include a port number.
- the port number can be a transmission control protocol (TCP) port number.
- the port number can be a user datagram protocol (UDP) port number.
- the sequence identifier can include a sequence number.
- the sequence number can be a sequence number of a data packet (e.g., a TCP data packet).
- the next sequence identifier can include a next sequence number.
- the next sequence number can be a sequence number of a next or expected data packet from another computing device.
- the next sequence identifier can include an acknowledgement number (e.g., a next sequence number that a first computing device expects to receive, as a next sequence number, from a second computing device in communication with the first computing device).
- the certificate identifier can include a digital certificate.
- the digital certificate can include an X.509 certificate.
- the hash identifier can include a hash value.
- the hash value can include a result of a hash process of source data.
- the hash function can include one or more of a message digest 2 hash process, a message digest 4 hash process, a message digest 5 hash process, a message digest 6 hash process, and a secure hash process (e.g., SHA-0, SHA-1, SHA-2, SHA-3, etc.), among others.
- each of a customer computing device, a media access server, and a customer service computing device can be uniquely identified by utilizing a unique identifier or a combination of identifiers that creates a unique identifier to provide, via a public network, an electronic-market and/or a cyber-market environment which provides custom media and/or custom responses to customer input received via the customer's computing device.
- the GUI can provide a simulated person (e.g., an avatar) that can interact with the customer.
- the customer can interact with the simulated person and the object (e.g., the object for sale or for service) in a same or similar fashion as the customer would interact with a person (e.g., a human being), such as a customer service representative of a retail establishment.
- the simulated person can be configured to demonstrate one or more aspects, configurations, and/or features of the object and can be configured with information associated with a profile of the customer to represent the one or more aspects, configurations, and/or features of the object that are associated with the profile of the customer.
- the profile of the customer can include one or more of a sport, a gender, a yearly income, an automobile type, a marital status, a credit history, a past transaction, a past purchase, a music genre, an interest, an employment status, an age, a height, a weight, a hair color, an eye color, a shoe size, a dress size, a waist size, an inseam size, a breast size, a chest size, and a membership, among others.
- a system that implements the simulated person can include one or more of an artificial intelligence system.
- the artificial intelligence system can include and/or implement one or more of a neural network system, a rule- based expert system, a fuzzy logic system, a machine learning process, a Bayesian Estimator process, and a Learning Vector Quantization process, among other processes and/or methods.
- a network communication system is illustrated, according to one or more embodiments.
- one or more customer computing devices (CCDs) 11 10-11 14 can be coupled to a network 1010.
- network 1010 can include one or more of a wireless network and a wired network.
- Network 1010 can be coupled to one or more types of communications networks, such as one or more of a public switched telephone network (PSTN), a public wide area network (e.g., an Internet), a private wide area network, and a local area network, among others.
- PSTN public switched telephone network
- network 1010 can be or include an Internet.
- network 1010 can form part of an Internet.
- one or more of CCDs 1 110-11 14 can be coupled to network 1010 via a wired communication coupling and/or a wireless communication coupling.
- a customer computer device CCD
- DSL digital subscriber loop
- cable television
- a CCD can be coupled to network 1010 via wireless Ethernet (e.g., WiFi), a satellite communication coupling, a cellular telephone coupling, or WiMax, among others.
- wireless Ethernet e.g., WiFi
- media servers 1210-1212 can be coupled to network 1010, and media servers 1210-1212 can include media server interfaces 1220-1222, respectively.
- media servers 1210 and 1211 can be coupled to databases 1230 and 1231, and media server 1212 can include a database (DB) 1232.
- DB 1230 can be or include an Oracle database.
- DB 1231 can be or include a Microsoft SQL Server database.
- DB 1232 can be or include a MySQL database or a PostgreSQL database.
- one or more of media server interfaces 1220-1222 can provide one or more computer system interfaces to one or more of CCDs 1 110-1 114.
- media server interface 1220 can include a web server.
- media server interface 1221 can include a server that interacts with a client application of a CCD.
- the client application can include a "smart phone" application.
- the client application can include a tablet computing device application.
- the client application can include a computing device application (e.g., an application for a desktop or laptop computing device).
- one or more customer service devices (CSDs) 1310-1312 can be coupled to network 1010.
- a service representative e.g., a customer service representative of a retail establishment, a service representative of a service provider, etc.
- a customer service device can utilize the CSD to provide information to the customer via the CCD.
- the service representative can utilize the CSD to conduct one or more of a video chat, a text chat, and an audio chat.
- the service representative can utilize the CSD to illustrate and/or demonstrate one or more features and/or operations of an object for sale or of an object for which service is desired by the customer.
- CD 2000 illustrated in FIG. 2 can be utilized to implement a CCD and/or a CSD.
- CD 2000 can include a processor 2010 coupled to a memory medium 2020.
- memory medium 2020 can store data and/or instructions that can be executed by processor 2010.
- APPs applications
- OS operation system
- one or more APPs 2030-2032 and/or an OS 2035 can include instructions of an instruction set architecture (ISA) associated with processor 2010.
- ISA instruction set architecture
- CD 2000 can be coupled to and/or include one or more of a display, a keyboard, and a pointing device (e.g., a mouse, a track ball, a track pad, a stylus, etc.).
- a touch screen can function as a pointing device.
- the touch screen can determine a position via one or more pressure sensors.
- the touch screen can determine a position via one or more capacitive sensors.
- CD 2000 can include one or more network interfaces 2040 and 2041.
- network interface 2040 can interface with a wired network coupling, such as a wired Ethernet, a T-l, a DSL modem, a PSTN, or a cable modem, among others.
- network interface 2041 can interface with a wireless network coupling, such as a satellite telephone system, a cellular telephone system, WiMax, or wireless Ethernet, among others.
- CD 2000 can be any of various types of devices, including a computer system, a server computer system, a laptop computer system, a notebook computing device, a portable computer, a personal digital assistant (PDA), a handheld mobile computing device, a mobile wireless telephone (e.g., a satellite telephone, a cellular telephone, etc.), an Internet appliance, a television device, a DVD (digital video disc player) device, a Blu-Ray disc player device, a DVR (digital video recorder) device, a wearable computing device, or other wireless or wired device that includes a processor that executes instructions from a memory medium.
- processor 2010 can include one or more cores.
- each core of processor 2010 can implement an ISA.
- one or more of CCDs 11 10-11 14, media servers 1210-1212, databases 1230 and 1231, and CSDs 1310-1312 can include one or more same or similar structures and/or functionalities described with reference to CD 2000.
- CD 2000 can include a field programmable gate array (FPGA) 2012 coupled to a memory medium 2020.
- memory medium 2020 can store data and/or configuration information that can be utilized by FPGA 2012 in implementing one or more systems, methods, and/or processes described herein.
- memory medium 2020 can store a configuration (CFG) 2033, and CFG 2033 can include configuration information and/or one or more instructions that can be utilized by FPGA 2012 to implement one or more systems, methods, and/or processes described herein.
- CFG configuration
- the configuration information and/or the one or more instructions, of CFG 2033 can include a hardware description language and/or a schematic design that can be utilized by FPGA 2012 to implement one or more systems, methods, and/or processes described herein.
- FPGA 2012 can include multiple programmable logic components that can be configured and coupled to one another in implementing one or more systems, methods, and/or processes described herein.
- memory medium 2020 can store data and/or instructions that can be executed by FPGA 2012.
- memory medium 2020 can store one or more APPs 2030-2032 and/or an OS 2035.
- one or more APPs 2030-2032 and/or an OS 2035 can include instructions of an ISA associated with FPGA 2012.
- CD 2000 can be coupled to and/or include one or more of a display, a keyboard, and a pointing device (e.g., a mouse, a track ball, a track pad, a stylus, etc.).
- a touch screen can function as a pointing device.
- the touch screen can determine a position via one or more pressure sensors.
- the touch screen can determine a position via one or more capacitive sensors.
- CD 2000 can include one or more network interfaces 2040 and 2041.
- network interface 2040 can interface with a wired network coupling, such as a wired Ethernet, a T-l, a DSL modem, a PSTN, or a cable modem, among others.
- network interface 2041 can interface with a wireless network coupling, such as a satellite telephone system, a cellular telephone system, WiMax, or wireless Ethernet, among others.
- CD 2000 can be any of various types of devices, including a computer system, a server computer system, a laptop computer system, a notebook computing device, a portable computer, a PDA, a handheld mobile computing device, a mobile wireless telephone (e.g., a satellite telephone, a cellular telephone, etc.), an Internet appliance, a television device, a DVD device, a Blu-Ray disc player device, a DVR device, a wearable computing device, or other wireless or wired device that includes a FPGA that processes data according to one or more methods and/or processes described herein.
- a computer system e.g., a server computer system, a laptop computer system, a notebook computing device, a portable computer, a PDA, a handheld mobile computing device, a mobile wireless telephone (e.g., a satellite telephone, a cellular telephone, etc.), an Internet appliance, a television device, a DVD device, a Blu-Ray disc player device, a DVR device, a wearable computing device, or other wireless
- CD 2000 can include an application specific processor (ASIC) 2014 coupled to a memory medium 2020.
- ASIC application specific processor
- memory medium 2020 can store data and/or configuration information that can be utilized by ASIC 2014 in implementing one or more systems, methods, and/or processes described herein.
- memory medium 2020 can store a CFG 2034, and CFG 2034 can include configuration information and/or one or more instructions that can be utilized by ASIC 2014 to implement one or more systems, methods, and/or processes described herein.
- memory medium 2020 can store data and/or instructions that can be executed by ASIC 2014.
- memory medium 2020 can store one or more APPs 2030-2032 and/or an OS 2035.
- one or more APPs 2030-2032 and/or an OS 2035 can include instructions of an ISA associated with ASIC 2014.
- CD 2000 can be coupled to and/or include one or more of a display, a keyboard, and a pointing device (e.g., a mouse, a track ball, a track pad, a stylus, etc.).
- a touch screen can function as a pointing device.
- the touch screen can determine a position via one or more pressure sensors.
- the touch screen can determine a position via one or more capacitive sensors.
- CD 2000 can include one or more network interfaces 2040 and 2041.
- network interface 2040 can interface with a wired network coupling, such as a wired Ethernet, a T-l, a DSL modem, a PSTN, or a cable modem, among others.
- network interface 2041 can interface with a wireless network coupling, such as a satellite telephone system, a cellular telephone system, WiMax, or wireless Ethernet, among others.
- CD 2000 can be any of various types of devices, including a computer system, a server computer system, a laptop computer system, a notebook computing device, a portable computer, a PDA, a handheld mobile computing device, a mobile wireless telephone (e.g., a satellite telephone, a cellular telephone, etc.), an Internet appliance, a television device, a DVD device, a Blu-Ray disc player device, a DVR device, a wearable computing device, or other wireless or wired device that includes ASIC that processes data according to one or more methods and/or processes described herein.
- one or more of CCDs 11 10-11 14, media servers 1210-1212, databases 1230 and 1231, and CSDs 1310-1312 can include one or more same or similar structures and/or functionalities described with reference to CD 2000.
- CD 2000 can include graphics processing unit (GPU) 2016 coupled to a memory medium 2020.
- GPU 2016 can be or include a general purpose graphics processing unit (GPGPU).
- memory medium 2020 can store data and/or configuration information that can be utilized by GPU 2016 in implementing one or more systems, methods, and/or processes described herein.
- memory medium 2020 can store a CFG 2036, and CFG 2036 can include configuration information and/or one or more instructions that can be utilized by GPU 2016 to implement one or more systems, methods, and/or processes described herein.
- memory medium 2020 can store data and/or instructions that can be executed by GPU 2016.
- memory medium 2020 can store one or more APPs 2030-2032 and/or an OS 2035.
- one or more APPs 2030-2032 and/or an OS 2035 can include instructions of an ISA associated with GPU 2016.
- CD 2000 can be coupled to and/or include one or more of a display, a keyboard, and a pointing device (e.g., a mouse, a track ball, a track pad, a stylus, etc.).
- a touch screen can function as a pointing device.
- the touch screen can determine a position via one or more pressure sensors.
- the touch screen can determine a position via one or more capacitive sensors.
- CD 2000 can include one or more network interfaces 2040 and 2041.
- network interface 2040 can interface with a wired network coupling, such as a wired Ethernet, a T-l, a DSL modem, a PSTN, or a cable modem, among others.
- network interface 2041 can interface with a wireless network coupling, such as a satellite telephone system, a cellular telephone system, WiMax, or wireless Ethernet, among others.
- CD 2000 can be any of various types of devices, including a computer system, a server computer system, a laptop computer system, a notebook computing device, a portable computer, a PDA, a handheld mobile computing device, a mobile wireless telephone (e.g., a satellite telephone, a cellular telephone, etc.), an Internet appliance, a television device, a DVD device, a Blu-Ray disc player device, a DVR device, a wearable computing device, or other wireless or wired device that includes a GPU that processes data according to one or more methods and/or processes described herein.
- one or more of CCDs 11 10-11 14, media servers 1210-1212, databases 1230 and 1231, and CSDs 1310-1312 can include one or more same or similar structures and/or functionalities described with reference to CD 2000.
- a display 3000 can display a client interface 3020.
- display 3000 can be coupled to or included in a computing device.
- display 3000 can be coupled to CCD 11 11.
- display 3000 can be included in CCD 11 12.
- client interface 3020 can be or include a web browser (e.g., Microsoft Internet Explorer, Safari, Firefox, Chrome, Opera, etc.), a window of an application, a full screen display area of display 3000, or a partial screen display area of display 3000.
- client interface 3020 can be utilized by application (APP) 2030 to provide information to and/or receive user input from a user.
- an APP e.g., an APP of APPs 2030-2032
- can receive information from a media server e.g., a media server of media servers 1210-1212
- a network e.g., network 1010
- the APP e.g., the APP of APPs 2030-2032
- the APP can be or include a plug- in to another application (e.g., a web browser) and/or can receive configuration information from a media server.
- the plug-in can include a Flash Player (available from Adobe Systems), and the plug-in can interface with the customer via client interface 3030.
- client interface 3030 can be implemented via one or more of JavaScript, EMCAScript, Java, an extensible markup language (XML), and a hypertext markup language (HTML) (e.g., HTML version four (4), HTML version five (5), etc.).
- the APP (e.g., the APP of APPs 2030-2032) can be or include a web browser, and the web browser can receive information, from a media server, that includes one or more of JavaScript, EMCAScript, Java (e.g., Java byte code), XML, and HTML version 5, and the web browser can implement client interface 3020 based on the received information that includes one or more of JavaScript, EMCAScript, Java, XML, and HTML version 5.
- a media server that includes one or more of JavaScript, EMCAScript, Java (e.g., Java byte code), XML, and HTML version 5
- client interface 3020 e.g., the web browser can implement client interface 3020 based on the received information that includes one or more of JavaScript, EMCAScript, Java, XML, and HTML version 5.
- client interface 3020 can include an interactive media interface 3030 that can provide information to a customer (e.g., a user of a CCD) and/or receive information from a customer.
- interactive media interface 3030 can include a media interface 3040 that can display one or more pictures, one or more videos (e.g., motion pictures), one or more graphics, and/or text associated with an object 3050.
- object 3050 can represent and/or include a simulation of an object for sale by a retail establishment.
- object 3050 can represent and/or include a simulation of an object that can be serviced and/or for which service can be provided.
- interactive media interface 3030 can include an interactive communication interface 3060 that can be utilized by one or more of the customer and another user (e.g., a sales representative, a service representing, a representative of a retail establishment, a representative of a service provider, an artificial intelligence system, a neural network system, etc.).
- interactive media interface 3030 can include one or more icons or button 31 10-31 17 that can be provided to receive user input.
- object 3050 can include a representation of and/or a simulation of a device, a computer, a cellular telephone, a tablet computing device, a digital music player device, a satellite telephone, a dress, a pair of jeans, a bathing suit, a shoe, lingerie, underwear, a helmet, a sock, stockings, a watch, a necklace, a bracelet, a television, software (e.g., a drawing program, a word processing program, a music player program, a compiler, a computer operating system, a video editing program, etc.), a printer device, a tire, a rim, an automobile part, an automobile, a piece of furniture, or a stapler, among others.
- software e.g., a drawing program, a word processing program, a music player program, a compiler, a computer operating system, a video editing program, etc.
- printer device e.g., a printer device, a tire, a rim, an automobile
- one or more of icons 31 10-31 13 can be selected by the customer to change a viewing angle of object 3050.
- icon 31 10 can be selected to rotate object 3050 about a first axis by a number of degrees in a first direction of rotation with respect to the first axis.
- icon 31 11 can be selected to rotate object 3050 about the first axis by a number of degrees in a second direction of rotation with respect to the first axis.
- the second direction of rotation can be opposite to the first direction of rotation.
- icon 31 12 can be selected to rotate object 3050 about a second axis by a number of degrees in a third direction of rotation with respect to the second axis.
- icon 31 13 can be selected to rotate object 3050 about the second axis by a number of degrees in a fourth direction of rotation with respect to the second axis.
- the fourth direction of rotation can be opposite to the third direction of rotation.
- a pointer can be dragged across media interface 3040 to rotate object 3050 in a direction about an axis.
- icon 31 14 can be selected to display a video that includes and/or is associated with object 3050.
- icon 3114 can be selected to display an interactive video that includes and/or is associated with object 3050.
- media interface 3040 can display a simulation that includes and/or is associated with object 3050.
- icon 3115 can be selected to receive information about and/or associated with object 3050.
- interactive communication interface 3060 can provide the customer with information when icon 31 15 is actuated or selected.
- an avatar e.g., a graphical approximation and/or rendering of an actual person or a simulated person
- interactive communication interface 3060 can provide the customer with a video of a service representative.
- a customer service representative can interact with the customer directly via text chat and/or video chat via interactive communication interface 3060.
- a customer service representative can interact with a customer directly by controlling media interface 3040 via a media server (e.g., a media server of media servers 1210-1212).
- the customer service representative can, via a media server, rotate object 3050 about an axis, zoom in-on at least a portion of object 3050, zoom out- from object 3050, start a simulation of or associated with object 3050, or start a video of or associated with object 3050, among others.
- media server 1210 can receive control information from the customer service representative, via a CSD, and can provide the control information to APP 2030 via network 1010, and APP 2030 can perform, via interactive media interface 3030 and/or media interface 3040, one or more functions associated with the control information.
- audio information can be provided to the customer via a sound output device included in or coupled to a computing device utilized by the customer.
- CCD 1 1 10 can include a speaker, and speech from a customer service representative can be provided to the customer via the speaker.
- CCD 1 110 can include a speaker, and speech associated with object 3050 can be provided to the customer via the speaker.
- CCD 1 110 can include a speaker, and music associated with object 3050 can be provided to the customer via the speaker.
- icons 31 16 and 3117 can be selected to adjust a size of object 3050.
- icon 3116 can be selected to increase a size of object 3050.
- increasing a size of object 3050 can include zooming in-on object 3050 and/or magnifying at least a portion of object 3050.
- icon 31 17 can be selected to decrease a size of object 3050.
- decreasing a size of object 3050 can include zooming out-from object 3050.
- media interface 3040 can display object 3050 which can be a device, such as a cellular telephone, a satellite telephone, a PDA, a digital music player, or a tablet computing device, among others.
- object 3050 can be rotated in a first direction about a vertical axis and displayed to a customer. For instance, object 3050 can be rotated "west”.
- object 3050 can be rotated in a second direction about a vertical axis and displayed to a customer. For instance, object 3050 can be rotated "east”.
- object 3050 can be rotated in a third direction about a horizontal axis and displayed to a customer. For instance, object 3050 can be rotated "north”. As illustrated in FIG. 4E, object 3050 can be rotated in a fourth direction about a horizontal axis and displayed to a customer. For instance, object 3050 can be rotated "south”.
- object 3050 can be rotated by a number of angles about a vertical axis.
- object 3050 can be rotated by a number of angles about a horizontal axis.
- media interface 3040 can display object 3050 rotated by a first number of angles about a vertical axis and/or by a second number of angles about a horizontal axis as illustrated in FIG. 5 A.
- rotating object 3050 about an axis can appear continuous to a customer by "looping" the rotated images from top to bottom, from bottom to top, from left to right, and/or from right to left.
- a next rotation for object 3050 illustrated at the top of FIG. 5 can be object 3050 illustrated at the bottom of FIG. 5A.
- a next rotation for object 3050 illustrated at the farthest left of FIG. 5A can be object 3050 illustrated at the farthest right of FIG. 5A.
- a three-dimensional representation and/or simulation of the object can include the rotations of the object.
- a series of two-dimensional graphics can include the rotations of the object.
- the series of two-dimensional graphics can include two-dimensional images 3200-3451 of FIGs. 5B-5I or a portion of images 3200-3451.
- the series of two-dimensional graphics that include the rotations of the object can be stored in a data structure of a memory medium and/or provided to a CCD via a network.
- images 3200-3451 can show and/or demonstrated an object (e.g., object 3050) at multiple positions and/or multiple angles.
- images 3200-3451 can be produced by computing projections of three-dimensional data of an object (e.g., object 3050) onto a plane (e.g., a two-dimensional space, a two- dimensional surface, etc.).
- a plane e.g., a two-dimensional space, a two- dimensional surface, etc.
- each of the images can be produced by computing a projection of three-dimensional data associated with object 13010 (FIG. 13 A) onto a plane and/or two-dimensional graphical canvas.
- each of one or more of images 3200-3451 can be produced by computing a projection of three-dimensional data associated with object 13010 onto a plane and/or two-dimensional graphical canvas.
- media interface 3040 can display two or more of images 3200-3451.
- simulating and/or emulating an object can include displaying two or more of images 3200-3451 via one or more of display 3000, client interface 3020, interactive media interface 3030, and media interface 3040.
- user input can be received via one or more of buttons and/or icons 3110-3113, and a first image of the two or more of images 3200-3451 can be changed to a second, different, image of the two or more of images 3200-3451.
- user input can be received via button and/or icon 31 14, and a series of images 3200-3451 can be displayed.
- user input can be received via touch screen and/or a pointing device, and a first image of the two or more of images 3200-3451 can be changed to a second, different, image of the two or more of images 3200-3451.
- receiving user input via a touch screen and/or pointing device can include determining that a portion of a user interface is selected and determining at least one movement away from the selected portion of the user interface. For example, a portion of a user interface 5505, as shown in FIG. 5J, can be selected, and at least one movement away from portion of the user interface 5505 can be determined.
- the user input can include a path, such as a path 5510, that indicates one or more movements with respect to portion of the user interface 5505.
- the user input can include a path, such as path 5510, that indicates one or more movements with respect to a coordinate (e.g., an origin coordinate) of the user interface.
- path 5510 can include one or more areas and/or coordinates associated with object 3050.
- user input indicating a selection can be received.
- user input indicating portion of the user interface 5505 can be received.
- the user input indicating the selection can be received via a mouse or other pointing device (e.g., a stylus, a finger, etc.).
- the user input indicating the selection can be received via a touch screen.
- a selected position can be determined.
- portion of the user interface 5505 can be associated a coordinate.
- the coordinate can be relative to an origin coordinate.
- the origin coordinate can be in a lower left corner, an upper left corner, a lower right corner, an upper right corner, or a center of an interface (e.g., a display 3000, client interface 3020, interactive media interface, 3030, media interface 3040, etc.).
- a timer can be set, and when the timer reaches a predetermined amount of time transpiring, a signal can be emitted that indicates that the amount of time has transpired.
- a timer can be set, and when the timer reaches a predetermined amount of time transpiring, a method and/or process can be executed.
- the amount of time that transpires can be utilized for multiple iterations (e.g., method elements 5030-5090).
- the amount of time that transpires can include an interval.
- a signal can be emitted that indicates that the time interval has transpired, and multiple signals can be emitted to indicates that corresponding multiple time intervals have transpired and/or multiple amounts of time have transpired.
- a method and/or process can be executed, and the method and/or process can be executed multiple times corresponding to multiple time intervals transpiring and/or multiple amounts of time transpiring.
- an emitted signal can trigger an event in an event-driven process and/or method. For example, one or more portions of the method illustrated in FIG. 5L can be event-driven. For instance, an event consumer can receive the signal emitted that indicates that the amount of time has transpired and perform one or more instructions, in response to the signal that indicates that the amount of time has transpired.
- an emitted signal can include information. In one example, the emitted signal can include a message. In another example, the emitted signal can include information associated with the emitted signal.
- determining that the selection is occurring can include determining that a mouse button is (still) down. In a second example, determining that the selection is occurring can include determining that a finger or stylus is (still) in contact with a touch screen. In one or more embodiments, determining that the selection is occurring can include determining that no state change has occurred and/or not having received a signal indicating that the selection has ceased. For example, determining that the selection is occurring can include not having received a signal indicating a mouse up event. [0119] At 5050, another position can be determined. In one example, a coordinate associated with a mouse position can be determined.
- a coordinate associated with a finger or stylus can be determined.
- multiple positions can be determined via multiple iterations of method elements 5030-5090.
- positions 5524- 5558, as shown in FIG. 5M, can be determined via multiple iterations of method elements 5030- 5090.
- a vector can be computed, utilizing at least two positions.
- a vector 5561 as shown in FIG. 5N, can be determined utilizing positions 5505 and 5522.
- a vector such as one of vectors 5563-5597, as shown in FIG. 5N can be computed, utilizing at least two positions, via a subsequent iteration.
- vectors 5563-5597 can be determined utilizing a current position at an end of a time interval and a previous position at a beginning of the time interval. In this fashion, path 5510 can be segmented and/or segmented into vectors 5561-5597.
- vectors 5561-5597 can be utilized in determining a next two-dimensional image, of a three- dimensional object, to display to a user.
- a direction of a computed vector can be determined.
- determining the direction of the computed vector can be utilized in determining a direction that a user is dragging a mouse, finger, stylus, etc.
- determining the direction that the user is dragging, or has dragged, the mouse, finger, stylus, etc. can include determining multiple positions along a path (e.g., path 5510).
- one or more computed directions of corresponding computed vectors can be grouped.
- a circle and/or disk can include a range of angles, such as 0 to 2 ⁇ radians or 0 to 360 degrees, and the range of angles can be partitioned into sectors.
- a first sector can include 330 to 359 degrees and 0 degrees to 29 degrees that can correspond to a north direction.
- a second sector can include 30 to 59 degrees that can correspond to a northeast direction.
- a third sector can include 60 to 120 degrees that can correspond to an east direction.
- FIG. 50 illustrates exemplary sectors 5610-5624 of an exemplary circle or disk 5605.
- determining a direction of a computed vector can include determining a sector that a computed vector would or does intersect.
- vector 5571 can intersect sector 5610, as illustrated in FIG. 5P.
- sector 5610 can correspond to a north direction.
- vector 5573 can intersect sector 5614, as illustrated in FIG. 5P.
- sector 5614 can correspond to an east direction.
- vector 5589 can intersect sector 5622, as illustrated in FIG. 5P.
- sector 5622 can correspond to a west direction.
- vector 5595 can intersect sector 5620, as illustrated in FIG. 5P.
- sector 5620 can correspond to a southwest direction.
- vector 5597 can intersect sector 5618, as illustrated in FIG. 5P.
- sector 5618 can correspond to a south direction.
- FIG. 5Q illustrates exemplary sectors 5630-5644 of an exemplary circle or disk 5625, according to one or more embodiments.
- sectors 5610-5624 of circle or disk 5605 can be utilized with CCD 11 10 in determining a direction of a computed vector
- sectors 5630-5644 of circle or disk 5625 can be utilized with CCD 1 11 1 in determining a direction of a computed vector.
- CCD 11 10 can be a laptop computing device
- CCD 11 11 11 can be a tablet computing device.
- sectors 5610-5624 of circle or disk 5605 can be utilized with a first application in determining a direction of a computed vector
- sectors 5630-5644 of circle or disk 5625 can be utilized with a second application in determining a direction of a computed vector.
- the first application can be or include a Firefox web browser
- the second application can be or include a Chrome web browser.
- vector 5571 can intersect sector 5630, in one example.
- sector 5630 can correspond to a north direction.
- vector 5573 can intersect sector 5632, as illustrated in FIG. 5Q.
- sector 5632 can correspond to a northeast direction.
- vector 5589 can intersect sector 5644, as illustrated in FIG. 5Q.
- sector 5644 can correspond to a west direction.
- vector 5595 can intersect sector 5638, as illustrated in FIG. 5Q.
- sector 5638 can correspond to a south direction.
- vector 5597 can intersect sector 5638, as illustrated in FIG. 5Q.
- an image can be determined at 5080. For example, a first image can be displayed, and a second image (e.g., a next image) can be determined based on the determined direction.
- determining a next image to be displayed can be independent of a magnitude of a vector computed during an amount of time transpiring.
- the direction of the vector computed during the amount of time transpiring can be utilized in determining the next image to be displayed while disregarding the magnitude of the vector computed during the amount of time transpiring.
- the magnitude of the vector computed during the amount of time transpiring can be associated with and/or correspond to a speed of and/or a drag of a mouse movement, a stylus movement, or a finger movement, and determining the next image to be displayed can be independent of the speed of and/or the drag of the mouse movement, the stylus movement, or the finger movement.
- the images and/or an index of the images can be stored in a data structure.
- the data structure can be or include a matrix.
- the matrix can be a MxN matrix.
- a current image can be based on a matrix element Ey, and a next image or next matrix element can be based on the determined direction and the matrix element Ey.
- the direction can be north, and the next image can be based on a next matrix element such as ⁇ . .
- the direction can be northeast, and the next image can be based on a next matrix element such as E i+i)Q-i)-
- the direction can be east, and the next image can be based on a next matrix element such as E( 1+1) j.
- the direction can be southeast, and the next image can be based on a next matrix element such as E(i+i ) (j+i ) .
- the direction can be south, and the next image can be based on a next matrix element such as ⁇ 3 ⁇ 4 +1) .
- the direction can be southwest, and the next image can be based on a next matrix element such as ⁇ . ⁇ + .
- the direction can be west, and the next image can be based on a next matrix element such as E ( i_i )j .
- the direction can be northwest, and the next image can be based on a next matrix element such as E ⁇ . ⁇ j .
- a mapping can be utilized to provide one more next matrix indices.
- the matrix elements can be associated with images 3200- 3451 or a portion of images 3200-3451.
- the matrix can store indexes to images 3200-3451 or to a portion of images 3200-3451.
- the matrix can store images 3200-3451 or a portion of images 3200-3451.
- the determined image can be displayed.
- possible images e.g., images 3200-3451, a portion of images 3200-3451, etc.
- possible images can be stored via an application.
- the application can store the possible images in a data structure that includes a z-index, and the application can change the z- index of the determined image to display the determined image or to permit displaying the determined image.
- the method can proceed to 5030.
- the method can proceed to 5030 for a next iteration of method elements 5030-5090.
- a current frame can be determined.
- the current frame can display image 3228, and a corresponding first index and a corresponding second index can be associated with image 3228 and can be determined.
- a first index can correspond to and/or be associated with a row index of a matrix
- a second index can correspond to and/or be associated with a column index of the matrix.
- a home frame can be determined.
- the home frame can display image 3203, and corresponding first home index and a corresponding second home index can be associated with image 3228 and can be determined.
- a first index difference between the first index and the first home index can be determined. For example, a row index difference can be determined. For instance, ihome - ent can be determined.
- determining the next frame can include adding or subtracting a number from the first frame index.
- the first index difference can be a positive number
- the first index difference can be a negative number
- determining the next frame can include subtracting a number from the first index. For instance, subtracting a number from the first index can include inext icurrent ⁇ 1 ⁇
- next frame is the home frame. In one example, it can be determined if a first index of the next frame is equal to the first home frame index. For instance, it can be determined if i nex t is equal to ihome. In another example, it can be determined if a second index of the next frame is equal to the second home frame index. For instance, it can be determined if j nex t is equal to jhome- If the next frame is the home frame, the home frame can be displayed at 5280. If the next frame is not the home frame, the next frame can be displayed at 5290.
- the first index can be adjusted. For example, icurrent can be adjusted and/or set to inext-
- a second index difference between the second index and the second home index can be determined. For example, a column index difference can be determined. For instance, jhome - jcun-ent can be determined.
- the method can proceed to 5240.
- jnext is equal to jhome-
- a first index of the next frame is equal to the second home frame index. For instance, it can be determined if i nex t is equal to ihome- If the next frame is the home frame, the home frame can be displayed at 5280. If the next frame is not the home frame, the next frame can be displayed at 5350.
- the second index can be adjusted. For example, j CU n-ent can be adjusted and/or set to jnext- In one or more embodiments, the method can proceed to 5240.
- the method illustrated in FIG. 5R can be performed in response to user input indicating that a return to a base and/or home state is desired.
- one or more methods, processes, and/or systems described herein can receive the user input indicating the return to the base and/or home state.
- the method illustrated in FIG. 5R can be performed with a current frame that displays image 3228.
- the method illustrated in FIG. 5R can display images 3229, 3223, 3216, 3217, 3210, and 3203, as shown in FIG 5S.
- the method illustrated in FIG. 5R can be performed with a current frame that displays image 3233.
- the method illustrated in FIG. 5R can display images 3232, 3225, 3224, 3217, 3210, and 3203, as shown in FIG. 5T.
- simulated object 3050 can include one or more of a wireless telephone (e.g., a cellular telephone, a satellite telephone, a wireless Ethernet telephone, etc.), a digital music player, a tablet computing device, and a PDA, among others.
- object 3050 can include one or more of a simulated sound output device 6010, a simulated display 6020, and simulated buttons 6030-6032.
- simulated display 6020 can display one or more of a picture or graphic 6050 and one or more buttons or icons 6040-6046.
- a customer e.g., a user of a CCD
- simulated object 3050 can perform one or more simulated functions associated with a selection or simulation of a selected icon or button of object 3050.
- the customer can select button 6031, and a numeric keypad can be displayed via simulated display 6020. For instance, keys of the numeric keypad can simulate a keypad of a telephone.
- the customer can select button 6032, and an interface to a digital music player can be displayed via simulated display 6020.
- an icon of icons 6040-6046 can be selected to simulate a respective application of a calculator application, a clock application, a calendar application, a web browser application, a video chat application, a video player (e.g., a motion picture player) application, and a setting or configuration application.
- a simulation of object 3050 and/or one or more simulated features and/or functions can be performed via a CCD.
- a client-side script e.g., JavaScript, EMCAScript, etc.
- a compiled client-side program (e.g., Java byte code) can be executed by a web browser of the CCD.
- a simulation of object 3050 and/or one or more simulated features and/or functions can be performed via a media server.
- the media server can receive information from a CCD that indicates a simulated button or icon has been selected and can utilize simulated display, via media interface 3040, to display functionality associated with the selected button or icon.
- simulated display 6020 can display a simulation of a video chat application.
- a simulated picture or graphic 6141 of a person with whom the customer is chatting can be displayed via simulated display 6020.
- a simulated picture or graphic 6142 of the customer can be displayed via simulated display 6020.
- picture or graphic 6142 of the customer can demonstrate a front-facing camera of simulated object 3050.
- the simulation of the video chat application can be started and/or executed in response to a selection and/or actuation of button or icon 6044 of
- the simulation of the video chat application can be a video (e.g., a motion picture) that can be played via simulated display 6020.
- a video e.g., a motion picture
- simulated display 6020 can be utilized to play one or more videos (e.g., motion pictures). In one example, simulated display 6020 can be utilized to play a clip from Youtube. In a second example, simulated display 6020 can be utilized to play a trailer to a movie. In another example, simulated display 6020 can be utilized to play videos that demonstrate one or more features of simulated object 3050. In one or more embodiments, user input can be received to pause, play, rewind, and/or fast- forward the video played via simulated display 6020. [0145] In one or more embodiments, the customer can select button 6030 to return to a "home" state or location of simulated object 3050.
- videos e.g., motion pictures
- simulated display 6020 can be utilized to play a clip from Youtube.
- simulated display 6020 can be utilized to play a trailer to a movie.
- simulated display 6020 can be utilized to play videos that demonstrate one or more features of simulated object 3050.
- user input can be received to pause
- FIG. 6A For example, the "home" state or location of simulated object 3050 is illustrated in FIG. 6A.
- a picture or graphic 6250 can be displayed via simulated display 6020.
- picture or graphic 6250 can be included in a graphical advertisement for a physical device associated with its simulated object 3050.
- media interface 3040 can display where a headphone or headset connector 6310 can be plugged into a device associated with simulated object 3050 and/or can display where a USB (universal serial bus) connector 6320 can be plugged into a device associated with simulated object 3050.
- a demonstration and/or simulation of coupling connectors to a device can be automated.
- the customer can select "How to use headphones with your device" from a help menu.
- a media server can provide, to a media interface, data and/or information that includes a demonstration and/or simulation that demonstrates and/or simulates a process of coupling headphones with simulated object 3050.
- the customer can select "How to charge your device or connect your device to a PC or a Mac" from a help menu.
- a media server can provide, to a media interface, data and/or information that includes a demonstration and/or simulation that demonstrates and/or simulates a process of coupling simulated object 3050 with a computing device.
- the demonstration and/or simulation can simulate a process of coupling simulated object 3050 with at least one of a PC, a Mac, and a charging device (e.g., a wall charger, a solar charger, etc.).
- a demonstration and/or simulation of connecting connectors to a device can instantiated and/or coordinated by a service representative via a CSD and/or a media server.
- a service representative can be communicating with a customer, via telephone or via interactive communication interface 3060, and can provide control information, via one or more of CSD 1310, network 1010, and media server 1212, to interactive communication interface 3060 and/or an application associated with interactive communication interface 3060.
- the service representative can provide control information, via one or more of CSD 1310, network 1010, and media server 1212, to client interface 3020 and/or an application associated with client interface 3020, and media interface 3040 can display a demonstration of connecting headphone or headset connector 6310 and/or USB connector to a device associated with simulated object 3050.
- FIG. 6E a network system that supports physical device emulation is illustrated, according to one or more embodiments. As shown, one or more of CCDs 11 11-11 13 can be coupled to media server 1211 via network 1010.
- media server 121 1 can include and/or execute one or more of a server app 6410, a server APP 6411, a server APP 6440, and an API (application programming interface) server APP 6450.
- API server APP 6450 can be coupled to server APP 6440
- server APP 6440 can be coupled to server APP 6410
- server APP 6450 can be coupled to server APP 6411.
- a first server APP can be coupled to a second server APP via one or more of a named pipe, an anonymous pipe, a pipe, a unix domain socket, a network connection (e.g., a network socket connection such as at least one of TCP, UDP, and IP, among others), a D-Bus (Desktop Bus), an IPC (interprocess communication) (e.g., inter-thread communication, inter- application communication, etc.), a shared memory interface, message passing, a file, and a file system, among others.
- a network connection e.g., a network socket connection such as at least one of TCP, UDP, and IP, among others
- a D-Bus Desktop Bus
- IPC interprocess communication
- shared memory interface e.g., inter-thread communication, inter- application communication, etc.
- server APP 6410 can include one or more of an emulator proxy 6430 and one or more of emulators 6420-6422, and one or more of emulators 6420-6422 can be coupled to emulator proxy 6430.
- server APP 6411 can include one or more of one or more emulator proxies 6433-6435 and one or more of emulators 6423-6425, and one or more of emulators 6423-6425 can be coupled to respective one or more emulator proxies 6433-6435.
- one or more of emulators 6423-6425 can include one or more of the same, similar or different functionalities and/or structures described with reference to one or more emulators 6420-6422, and one or more of emulator proxies 6433-6435 can include one or more of the same, similar or different functionalities and/or structures described with reference to emulator proxy 6430.
- one or more of emulator proxy 6430 and one or more of emulators 6420-6422 can include or be one or more of a process, a task, an application, and a thread, among others; and an emulator of emulators 6420-6422 can be coupled to emulator proxy 6430 via one or more of a named pipe, an anonymous pipe, a pipe, an Unix domain socket, a network connection, a D-Bus, an IPC, a shared memory interface, message passing, a file, and a file system, among others.
- one or more of CCDs 11 11-1 113 can include and/or execute respective one or more client interfaces 63021-63023, respective one or more interactive media interfaces 63031- 63033, and/or respective one or more media interfaces 6541-6543.
- one or more client interfaces 63021-63023 can include same or similar one or more functionalities described with reference to client interface 3020
- one or more interactive media interfaces 63031- 63033 can include same or similar one or more functionalities described with reference to interactive media interface 3030
- one or more media interfaces 6541-6543 can include same or similar one or more functionalities described with reference to media interface 3040.
- a method of operating an API server APP is illustrated, according to one or more embodiments.
- a first request from a CCD e.g., a CCD of CCDs 1 11 1- 1 113
- API server APP 6450 included in and/or executed by media server 1211 can receive, via network 1010, the first request from the CCD.
- API server APP 6450 can receive, via network 1010, the first request from media interface 6541 included in and/or executed by CCD 1 11 1.
- API server APP 6450 can receive, via network 1010, the first request from media interface 6542 included in and/or executed by CCD 1 1 12.
- API server APP 6450 can receive, via network 1010, the first request from an interactive media interface (e.g., an interactive media interface of interactive media interfaces 63031-63033) or a client interface (e.g., a client interface of client interfaces 63021-63023).
- the first request can include a request for connection information.
- the first request can include a XMLHttpRequest (XHR) that includes the request for the connection information.
- XHR XMLHttpRequest
- a second request can be provided to another server APP.
- API server APP 6450 can provide the second request to server APP 6440.
- providing the second request to server APP 6440 can include initiating a remote procedure call (RPC) with server APP 6440.
- RPC remote procedure call
- providing the second request to server APP 6440 can include utilizing a RPC framework and/or a RPC functional library.
- providing the second request to server APP 6440 can include initiating a Thrift request with server APP 6440.
- Thrift can include one or more a library (e.g., a software library) and one or more code generation tools that can be utilized to define data types and service interfaces in a language-neutral file and generate instructions (e.g., software executable by a processing system) that can be utilized in RPC clients and servers that are executable on respective computing devices.
- a library e.g., a software library
- code generation tools that can be utilized to define data types and service interfaces in a language-neutral file and generate instructions (e.g., software executable by a processing system) that can be utilized in RPC clients and servers that are executable on respective computing devices.
- address information can be received.
- API server APP 6450 can receive the address information from the other server APP (e.g., server APP 6440).
- the address information from the other server can include one or more of an IP address, a port number (e.g., a TCP port number, a UDP port number, etc.), and audio proxy information, among others.
- one or more of the IP address and the port number can be utilized with a virtual network console (VNC) and/or a remote network console.
- VNC virtual network console
- one or more of the IP address and the port number can be utilized with one or more of a remote desktop connection, an Apple remote desktop connection, and a remote XI 1 session or connection, among others.
- the audio proxy information can include information associated with a websocket proxy.
- a first computing device and a second computing device can communicate via a websocket API and/or protocol.
- the first computing device can provide, via a network, a first set of one or more TCP packets to a second computing device via the websocket API and/or protocol.
- providing the first set of one or more TCP packets to the second computing device can include providing, via HTTP or HTTPS, the first set of one or more TCP packets to the second computing device.
- the second computing device can provide, via the network, a second set of one or more TCP packets to the first computing device via the websocket API and/or protocol.
- providing the second set of one or more TCP packets to the second computing device can include providing, via HTTP or HTTPS, the second set of one or more TCP packets to the first computing device.
- the address information, received at 6630 can be provided to the CCD.
- API server APP 6450 can provide the address information to the CCD.
- API server APP 6450 can provide a XHR object that includes the address information to the CCD.
- the CCD can utilize the address information to communicate with emulator proxy 6430.
- FIG. 6G a method for operating a server APP is illustrated, according to one or more embodiments.
- the method illustrated in FIG. 6G can be utilized in operating server APP 6440 or other server APPs that include same or similar one or more functionalities of server APP 6440.
- the second request e.g., provided at 6620 can be received.
- server APP 6440 included in and/or executed by media server 1211, can receive the second request from API server APP 6450.
- an emulator allocation request can be provided to an emulator server APP.
- server APP 6440 can provide an emulator allocation request to an emulation server APP 6410.
- a response from the emulator server APP can be received.
- server APP 6440 can receive, from emulator server APP 6410, a response to the emulator allocation request.
- server APP 6440 can determine if the response from the emulator server APP indicates that an emulator has been allocated. For example, server APP 6440 can determine if the response from the emulator server APP indicates that an emulator has been allocated. If the response from the emulator server APP indicates that an emulator has not been allocated, another emulator server APP can be determined at 6750. For example, server APP 6440 can determine another emulator server APP (e.g., different from emulator server APP 6410 such as server APP 641 1). At 6760, an emulator allocation request can be provided to the other emulator server APP, and the method can proceed to 6730. For example, server APP 6440 can provide an emulator allocation request to the other emulation server APP.
- server APP 6440 can provide an emulator allocation request to the other emulation server APP.
- server APP 6440 can determine the information associated with one or more of the emulator and the emulator proxy from the response from the emulator server APP and/or based on the response from the emulator server APP.
- server APP 6440 can receive additional information from the emulator server APP and can determine the information associated with one or more of the emulator and the emulator proxy from the additional information from the emulator server APP and/or based on the additional information from the emulator server APP.
- the address information can be provided to the API server APP.
- server APP 6440 can provide the address information associated with one or more of the emulator and the emulator proxy to API server APP 6450.
- an emulator allocation request can be received.
- server APP 6410 can receive an emulator allocation request from server APP 6440.
- it can be determined if an emulator can be allocated.
- server APP 6410 can determine if an emulator can be allocated.
- determining if an emulator can be allocated can include determining one or more of an amount of memory is available, a thread can be allocated, a process can be allocated, a task can be allocated, a processing load is below a threshold, and an amount of bandwidth is below a threshold, among others.
- server APP 6410 can provide, to server APP 6440, a response that indicates that an emulator has not been allocated.
- server APP 6410 can allocate, to server APP 6440, a response that indicates that an emulator has not been allocated.
- an emulator can be allocated, at 6840.
- server APP 6410 can allocate an emulator.
- server APP 6410 can allocate an emulator such as an emulator of emulators 6420-6422.
- allocating an emulator can include marking an emulator, from a pool of available emulators, as no longer available to be allocated by an allocation request and providing the marked emulator as available to a requestor.
- an emulator can emulate a data processing system.
- the emulated data processing system can include an emulated memory coupled to an emulated processor that executes instructions from an ISA (instruction set architecture) that can be stored in the emulated memory.
- the emulated processor can execute instructions from at least one of an ARM ISA, a MIPS ISA, an x86 ISA, a PowerPC ISA, and a DSP (digital signal processing) ISA, among others.
- the emulated memory can include at least one of emulated DRAM (dynamic random access memory), SRAM (static random access memory), FRAM (ferroelectric random access memory), FLASH memory (e.g., NAND FLASH memory), EEPROM (electrically erasable read only memory), EPROM (erasable programmable read only memory), PROM (programmable read only memory), and ROM (read only memory), among others.
- emulated DRAM dynamic random access memory
- SRAM static random access memory
- FRAM ferrroelectric random access memory
- FLASH memory e.g., NAND FLASH memory
- EEPROM electrically erasable read only memory
- EPROM erasable programmable read only memory
- PROM programmable read only memory
- ROM read only memory
- the emulated data processing system can include at least one emulated bus, coupled to the emulated processor, such as at least one emulated bus of an I 2 C (inter- integrated circuit) bus, an universal serial bus (USB), a serial peripheral interconnect (SPI) bus, a peripheral component interconnect (PCI) bus, a peripheral component interconnect express (PCIe), and an advanced high-performance bus (AHB), among others.
- I 2 C inter- integrated circuit
- USB universal serial bus
- SPI serial peripheral interconnect
- PCI peripheral component interconnect
- PCIe peripheral component interconnect express
- ALB advanced high-performance bus
- one or more emulated devices and/or interfaces can be coupled to the emulated processor, such as one or more of an emulated wireless Ethernet interface (e.g., a WiFi interface), an Ethernet interface, a global positioning system (GPS) receiver device, a GSM (global system for mobile communications) interface, a CDMA (code division multiple access) interface, a WiMAX interface, a proximity sensing device, a Bluetooth interface, a ZigBEE interface, a magnetometer, an accelerometer, a pressure transducer, a humidity sensing device, a capacitive sensing touch device, a resistive sensing touch device, an electronic gyroscope, a gas sensing device, an image sensing device (e.g., a digital camera), a sound sensing device (e.g., a microphone), a sound output device (e.g., a speaker), a digital compass device, a temperature sensing device, a FM radio receiving device (e.g., tunable
- the emulated data processing system can include a data processing emulator such as QEMU, SPIM, VMware, VirtualBox, or Bochs, among others.
- SPIM can emulate a processor that can execute instructions from a MIPS ISA.
- QEMU can emulate a processor that can execute instructions from an IA-32 (e.g., x86) ISA, a MIPS ISA, a SPARC ISA, an ARM ISA, and a PowerPC ISA, among others.
- QEMU, SPIM, VMware, VirtualBox, or Bochs can emulate one or more a memory system, a bus, a device, and an interface, among others, coupled to an emulated processor.
- an emulator e.g., an emulator of emulators 6420-6422
- an emulator can be or include a virtual machine.
- an emulator e.g., an emulator of emulators 6420-6422
- the emulator can execute a Linux operating system and/or platform.
- the emulator can execute an Android operating system and/or platform.
- the emulator can execute an iOS operating system and/or platform.
- the emulator can execute a BSD (Berkeley Software Distribution) operating system and/or platform.
- the emulator can execute a Windows CE operating system and/or platform.
- the emulator can execute a Windows Mobile operating system and/or platform.
- the emulator can execute a Vx Works operating system and/or platform.
- the emulator can execute a data generating thread, task, and/or process that can emulate, simulate, and/or provide an operating system and/or platform with data associated with one or more functionalities of an emulated device (e.g., a physical wireless telephone, a physical personal audio device, a physical tablet computing device, a physical MP3 player, etc.).
- an emulated device e.g., a physical wireless telephone, a physical personal audio device, a physical tablet computing device, a physical MP3 player, etc.
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates an incoming telephone call.
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates GSM data.
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates CDMA data.
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates GPS data.
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates frequency modulation (FM) data (e.g., sounds and/or text data carried via a FM carrier wave).
- FM frequency modulation
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates amplitude modulation (AM) data (e.g., sounds and/or text data carried via a AM carrier wave).
- AM amplitude modulation
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates short messaging system (SMS) data.
- SMS short messaging system
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates a SMS text message.
- the data generating thread and/or process can provide the operating system and/or platform with data that emulates and/or simulates user input data.
- the data that emulates and/or simulates user input data can be generated in response to user input data from a service representative. In another instance, the data that emulates and/or simulates user input data can be generated in response to user input data from a customer via a CCD utilized by the customer.
- a response that indicates that an emulator has been allocated can be provided.
- server APP 6410 can provide, to server APP 6440, a response that indicates that an emulator has been allocated.
- input/output (I/O) of the allocated emulator can be coupled to an emulator proxy.
- server APP 6410 can couple I/O of the allocated emulator to emulator proxy 6430.
- server APP 6410 can couple I/O of an emulator of emulators 6420-6422 to emulator proxy 6430.
- utilizing emulator proxy 6430 can prohibit direct access of one or more clients (e.g., one or more of CCDs 11 1 1-11 13) to one or more emulators (e.g., one or more of emulators 6420-6422).
- prohibiting direct access of one or more clients to one or more emulators can include providing and/or implementing access control.
- providing and/or implementing access control can include limiting a number of ports (e.g., TCP ports, UDP ports, etc.) of one or more emulators that one or more clients can access.
- providing and/or implementing access control can include limiting an amount of time that one or more clients can access one or more emulators and/or can include timing out one or more communication couplings after an amount of time transpires without communication activity and/or data.
- utilizing emulator proxy 6430 can bridge access of one or more clients (e.g., one or more of CCDs 1 11 1-11 13) utilizing a first communication protocol to one or more emulators (e.g., one or more of emulators 6420-6422) utilizing a second communication protocol.
- the first communication protocol e.g., a websocket protocol
- the second communication protocol e.g., a transmission control protocol
- bridging access of one or more clients utilizing the first communication protocol to one or more emulators utilizing the second communication protocol can include translating and/or transforming data of the first communication protocol into data of the second communication protocol and/or can include translating and/or transforming data of the second communication protocol into data of the first communication protocol.
- I/O of an emulator can include video output.
- the video output can include output that would be displayed on a screen of a device (e.g., a wireless telephone, a personal audio device, a tablet computing device, a MP3 player, etc.), and the video output can be provided to a client (e.g., a CCD of CCDs 1 11 1-1 113).
- providing the video output to the client can include providing the video output to the client via emulator proxy 6430 and/or network 1010.
- the I/O of an emulator can be implemented via a virtual network console (VNC) protocol and/or interface.
- the emulator can provide video output to the client via the VNC protocol and/or interface.
- an operating system and/or kernel executing on the emulator can provide video output to the client via the VNC protocol and/or interface.
- VNC virtual network console
- I/O of an emulator can include audio output.
- the audio output can include sounds that would be produced and/or reproduced via a device (e.g., a wireless telephone, a personal audio device, a tablet computing device, a MP3 player, etc.), and the audio output can be provided to a client (e.g., a CCD of CCDs 11 11-1 113).
- a client e.g., a CCD of CCDs 11 11-1 113
- providing the audio output to the client can include providing the audio output to the client via emulator proxy 6430 and/or network 1010.
- the I/O of an emulator can be implemented via a websocket protocol and/or interface.
- the audio output can include one or more of pulse width modulation data, pulse code modulation data, raw audio data, WAV audio data, AIFF audio data, AAC audio data, MPEG audio data, OGG audio data, Real Audio audio data, and WMA audio data, among others.
- the emulator can provide audio output to the client via the websocket protocol and/or interface.
- an operating system and/or kernel executing on the emulator can provide audio output to the client via the websocket protocol and/or interface.
- the method illustrated in FIG. 6H can be utilized by multiple emulators.
- two or more different emulators can emulate a same physical mobile device.
- two or more different emulators can emulate different respective physical mobile devices, and the two or more emulators emulating different respective physical mobile devices can perform differently in accordance with functionalities, devices, and/or structures associated with the different respective physical mobile devices.
- a first emulator can emulate a first physical device, and a second, different, emulator can emulate a second, different, physical device.
- a first emulated mobile device, emulated via the first emulator, that corresponds to a first physical mobile device that can include a first physical processor, a first physical memory, and a first physical integrated circuit can be different from a second emulated mobile device, emulated via the second emulator, that corresponds to a second physical mobile device that can include a second physical processor, a second physical memory and a second physical integrated circuit, where at least one of the first physical processor, the first physical memory, and the first physical integrated circuit is different from a corresponding one of the second physical processor, the second physical memory and the second physical integrated circuit.
- the first physical integrated circuit can include one or more of a WiFi device (e.g., a WiFi interface), WiMAX device (e.g., a WiMAX interface), a GPS device, a GSM device (e.g., a GSM interface), a CDMA device (e.g., a CDMA interface), a satellite telephone network interface, a Bluetooth device (e.g., a Bluetooth interface), a ZigBEE device (e.g., a ZigBEE interface), a GPS device, an Ethernet device (e.g., an Ethernet interface), a proximity sensing device, a magnetometer, an accelerometer, a pressure transducer, a humidity sensing device, a capacitive sensing touch device, a resistive sensing touch device, an electronic gyroscope, a gas sensing device, an image sensing device (e.g., a digital camera), a sound output device, a sound sensing device (e.g., a microphone),
- a WiFi device e
- the first emulator can emulate a first wireless telephone that includes a CDMA wireless telephone network interface, and the second emulator can emulate a wireless telephone that includes a GSM wireless telephone network interface.
- the first emulator can emulate a first wireless telephone that includes a cellular wireless telephone network interface, and the second emulator can emulate a second wireless telephone that includes a satellite wireless telephone network interface.
- the first emulator can emulate a first wireless telephone that includes a first integrated circuit, and the second emulator can emulate a second wireless telephone that includes a second integrated circuit that is different from the first integrated circuit.
- the first emulator can emulate a first wireless telephone that includes a Trimble GPS device, and the second emulator can emulate a wireless telephone that includes a ublox GPS device.
- the first emulator can emulate a first physical device that includes an integrated circuit (e.g., an audio integrated circuit, a graphics processing unit, a GPS integrated circuit, etc.), and the second emulator can emulate a second physical device that does not includes the integrated circuit.
- an integrated circuit e.g., an audio integrated circuit, a graphics processing unit, a GPS integrated circuit, etc.
- functionality can be determined.
- functionality of a client device for providing the GUI can be determined.
- functionality of a client interface can be determined via a scripting functionality.
- the client interface can implement a media interface (e.g., a media interface of media interfaces 6540-6542).
- the client interface can include a web browser, and functionality of the web browser can be determined.
- functionality of the web browser can include one or more of a scripting functionality, a plug-in functionality, a virtual machine functionality, and a markup language functionality, among others.
- determining functionality can include determining a version of a functionality.
- emulation interface instructions and data can be received.
- the client interface and/or a media interface can receive the emulation interface instructions and the emulation interface data from a media server via network 1010.
- the client interface can include a web browser, and the web browser can receive the emulation interface instructions and the emulation interface data.
- the emulation interface instructions can include one or more of a script, executable byte code, and executable code for a plugin, among others.
- the emulation interface instructions can include the script that can be in accordance with a scripting language such as JavaScript, EMCAScript, Ruby, Python, or Lua, among others.
- the executable byte code can be in accordance with one or more of Ruby byte code, Python byte code, Lua byte code, Ruby byte code, and Java byte code, among others.
- the byte code can be executed by a virtual machine.
- the executable code for a plugin can include Adobe Flash executable code, Java executable code, Ruby executable code, and Lua executable code, among others.
- the emulation interface data can include one or more of a graphic and data of a markup language.
- the markup language can include one or more of HTML and XML, among others.
- a user interface can be configured.
- a media interface e.g., a media interface of media interfaces 6540-6542
- the emulation interface instructions e.g., instructions associated with a scripting language such as JavaScript, EMCAScript, Ruby, Python, Lua, etc. and/or instructions associated with Ruby byte code, Python byte code, Lua byte code, Java byte code, etc.
- the emulation interface data e.g., HTML data, XML data, etc.
- a media interface e.g., a media interface of media interfaces 6540-6542
- the user interface e.g., a media interface
- can couple with an emulator e.g., an emulator of emulators 6420-6422.
- a media interface can couple with an emulator via network 1010 and/or emulator proxy 6430.
- a media interface can receive the input data from an emulator.
- the media interface can receive the input data from the emulator via network 1010 and/or emulator proxy 6430.
- the media interface can receive the input data from a customer (e.g., user input data).
- input from the customer can include one or more of a selection of a graphic, a selection of an icon, a selection of a key (e.g., a key from a keypad, a key from a keyboard, etc.), visual input (e.g., one or more images from a camera coupled to a CCD), and sound input (e.g., one or more sounds from a microphone coupled to a CCD), among others.
- a selection of a graphic e.g., a selection of an icon, a selection of a key (e.g., a key from a keypad, a key from a keyboard, etc.)
- visual input e.g., one or more images from a camera coupled to a CCD
- sound input e.g., one or more sounds from a microphone coupled to a CCD
- a source of the input data can be determined. If the source of the data is determined to be from the emulator, information can be displayed and/or sounds can be produced for the user (e.g., customer) via the media interface and/or a sound output device of a CCD, at 6970. In one or more embodiments, the method can proceed to 6960, where further information can be received. If the source of the data is determined to be from the user, the user input data can be provided to the emulator, at 6980. For example, the user input data can be provided to the emulator via network 1010 and/or emulator proxy 6430. In one or more embodiments, the method can proceed to 6960, where further information can be received.
- first information associated with a first network address
- first information can be received via a network.
- the first information can be received from a first CCD (e.g., CCD 11 10).
- second information associated with a second network address
- the network can be received from a second CCD (e.g., CCD 11 11).
- at least one of the first information and the second information can include a request for a simulated object and/or a request to interact with a simulated object.
- third information associated with the first network address
- the third information can be provided to the network.
- the third information can be addressed to the first network address (e.g., associated with the first CCD).
- the third information can include first data utilizable, by a first client interface associated with the first CCD, to display a three-dimensional simulation of a first simulated object and/or to change a viewing angle of the first simulated object.
- fourth information associated with the second network address
- the fourth information can be provided to the network.
- the fourth information can be addressed to the second network address (e.g., associated with the second CCD).
- the fourth information can include second data utilizable, by a second client interface associated with the second CCD, to display a three-dimensional simulation of a first simulated object and/or to change a viewing angle of the first simulated object.
- media interface 3040 can display object 3050.
- object 3050 can be a simulation of a dress, and a customer can utilize one or more controls such as one or more buttons or icons 3110-31 17 to interact with and/or control simulated object 3050.
- interactive media interface 3030 can include buttons or icons 7010-7040 that can be selected and/or actuated by a customer (e.g., a user of a CCD) to access another department or group of items.
- the customer can select and/or actuate one or more of buttons or icons 7010-7040 to access respective one or more of hand bags, jewelry, makeup, and shoes.
- interactive media interface 3030 can include selections 7110, and selections 7110 can include one or more selection items 7140-7170.
- the customer can choose selection item 7170, and media interface 3040 can display selection item 7170 as simulated object 3050, as illustrated.
- buttons or icons 7120 and 7130 can be selected and/or actuated to view one or more additional or other items that are not currently shown via interactive media interface 3030.
- the customer can actuate or select button or icon 7210 to enter one or more measurements associated with the customer or another person (e.g., a recipient of a potential or possible gift from the customer). If measurements have already been entered, the customer can actuate or select button or icon 7220 to show simulated object 3050 in accordance with the one or more measurements associated with the customer or the other person, as illustrated in FIG. 7C and described further below.
- customer input area 7300 as illustrated in FIG. 7B, can be displayed when button or icon 7210 is actuated and/or selected.
- one or more measurements of height, weight, chest size, breast size, inseam, waist, and dress size can be entered via respective one or more text entry boxes 7310-7322.
- Button or icon 7330 can be actuated and/or selected by the customer to indicate that one or more measurements can be received by media interface 3030 and/or a media server.
- one or more of these customer parameters may be read from a database 7352 (add 7352 database to read/write to 3030/7300 in Figure 7B). New values or edited values may be written from the interface 7300 to the database 7352 to be retrieved for future use.
- media interface 3040 can display object 3050 on a simulated person 7410 with the measurements acquired via customer input area 7300.
- the customer can actuate or select one or more of buttons or icons 31 10-31 14, 31 16, and 3117 to have media interface 3040 display object 3050 as described above and to have media interface 3040 display object 3050 on simulated person 7410.
- the customer can actuate or select button or icon 3115, and interactive communication interface 3060 can provide the customer with information.
- an avatar e.g., a graphical approximation and/or rendering of an actual person or a simulated person
- interactive communication interface 3060 can provide the customer with a video of a service representative.
- graphic 7420 can represent an avatar or video of a service representative.
- a customer service representative can interact with the customer directly via text chat and/or video chat via interactive communication interface 3060, and the customer service representative can control and/or direct media interface 3040 to change how media interface displays object 3050.
- the customer service representative can control and/or direct media interface 3040 to change how media interface 3040 displays object 3050 as though one or more of buttons and/or icons 3110-3114, 31 16, and 31 17 were actuated or selected.
- data associated with user input can be received.
- the data associated with user input can indicate that a button or icon of buttons or icons 31 10-3117, 7010-7040, 7120, 7130, 7210, and 7220 has been actuated or selected.
- the data associated with user input can indicate that a selection item of selection items 7140-7170 has been actuated or selected.
- the data associated with user input can indicate that a pointer was dragged across media interface 3040 to rotate object 3050 in a direction about an axis.
- buttons or icons 3110-31 17, 7010-7040, 7120, 7130, 7210, and 7220 has been actuated or selected. If the data associated with user input indicates that a button or icon of buttons or icons 3110-31 17, 7010-7040, 7120, 7130, 7210, and 7220 has been actuated or selected, it can be determined which button or icon of buttons or icons 3110-3117, 7010-7040, 7120, 7130, 7210, and 7220 has been actuated or selected at 7530.
- buttons or icons 3110-3117, 7010-7040, 7120, 7130, 7210, and 7220 has been actuated or selected, it can be determined that a pointer was dragged across media interface 3040 to rotate object 3050, at 7540.
- first data can be provided to media interface 3040 that is utilizable to rotate object 3050 about a first axis (e.g., a horizontal axis) by a first number of degrees at 7560.
- object 3050 can rotate about the first axis by the first number of degrees in the direction shown in FIG. 4D.
- second data can be provided to media interface that is utilizable to rotate object 3050 about the first axis by a second number of degrees at 7570.
- object 3050 can rotate about the first axis by the second number of degrees in the direction shown in FIG. 4E.
- third data can be provided to media interface 3040 that is utilizable to rotate object 3050 about a second axis (e.g., a vertical axis) by a third number of degrees at 7580.
- object 3050 can rotate about the second axis by the third number of degrees in the direction shown in FIG. 4B.
- fourth data can be provided to media interface that is utilizable to rotate object 3050 about the second axis by a fourth number of degrees at 7590.
- object 3050 can rotate about the second axis by the fourth number of degrees in the direction shown in FIG. 4C.
- one or more of buttons or icons 31 10-31 13 can be selected to manipulate simulated object 3050.
- fifth data can be provided to media interface 3040 that is utilizable to display a video that includes and/or is associated with object 3050 at 7600.
- the video can be or include an interactive video that includes and/or is associated with object 3050.
- the interactive video can be or include a simulation that includes and/or is associated with object 3050.
- an avatar e.g., a graphical approximation and/or rendering of an actual person or a simulated person
- interactive communication interface 3060 can provide the customer with a video of a service representative.
- a customer service representative can interact with the customer directly via text chat and/or video chat via interactive communication interface 3060.
- sixth data can be provided to media interface 3040 that is utilizable to increase a size of object 3050 at 7610. For example, increasing a size of object 3050 can include zooming in-on object 3050 and/or magnifying at least a portion of object 3050. If button or icon 3117 has been select or actuated, seventh data can be provided to media interface 3040 that is utilizable to increase a size of object 3050 at 7620. For instance, decreasing a size of object 3050 can include zooming out-from object 3050.
- eighth data can be provided to interactive media interface 3030 that is utilizable to change from a first shopping department to a second shopping department at 7630.
- the second shopping department can include handbags.
- ninth data can be provided to interactive media interface 3030 that is utilizable to change from the first shopping department to a third shopping department at 7640.
- the third shopping department can include jewelry.
- buttons or icon 7030 can be selected or actuated.
- tenth data can be provided to interactive media interface 3030 that is utilizable to change from the first shopping department to a fourth shopping department at 7650.
- the fourth shopping department can include makeup.
- eleventh data can be provided to interactive media interface 3030 that is utilizable to change from the first shopping department to a fifth shopping department at 7660.
- the fifth shopping department can include shoes.
- button or icon 7120 has been selected or actuated, twelfth data can be provided to interactive media interface 3030, at 7670, that is utilizable to change a first view of items such that at least a first item that is not currently shown via interactive media interface 3030 can be displayed. If button or icon 7130 has been selected or actuated, thirteenth data can be provided to interactive media interface 3030, at 7680, that is utilizable to change a second view of items such that at least a second item that is not currently shown via interactive media interface 3030 can be displayed.
- button or icon 7210 has been selected or actuated, fourteenth data can be provided to interactive media interface 3030 that is utilizable to display customer input area 7300 at 7690. If button or icon 7220 has been selected or actuated, fifteenth data can be provided to media interface 3040, at 7700, that is utilizable to display object 3050 with a simulated person. For example, the fifteenth data can be provided to media interface 3040 that is utilizable to display object 3050 on simulated person 7410 with the measurements acquired via customer input area 7300. [0211] As described above, it can be determined, at 7540, that the data associated with user input indicates that a pointer was dragged across media interface 3040 to rotate object 3050 in a direction about an axis.
- a direction that the pointer was dragged can be determined.
- the data associated with user input can indicate that the pointer was dragged across media interface 3040 in a direction north, a direction south, a direction east, or a direction west.
- the data associated with user input can indicate that the pointer was dragged across media interface 3040 in a direction north-east, a direction north-west, a direction southeast, or a direction south-west. If the direction that the pointer was dragged is determined to be north, the method can proceed to 7560. If the direction that the pointer was dragged is determined to be south, the method can proceed to 7570. If the direction that the pointer was dragged is determined to be west, the method can proceed to 7580. If the direction that the pointer was dragged is determined to be east, the method can proceed to 7590.
- sixteenth data can be provided to media interface 3040 that is utilizable to rotate object 3050 about a third axis (e.g., a first diagonal axis, such as an axis from the south and west to the north and east) by a fifth number of degrees at 7720. If the direction that the pointer was dragged is determined to be south-west, seventeenth data can be provided to media interface 3040 that is utilizable to rotate object 3050 about the third axis by a sixth number of degrees at 7730.
- a third axis e.g., a first diagonal axis, such as an axis from the south and west to the north and east
- eighteenth data can be provided to media interface 3040 that is utilizable to rotate object 3050 about a fourth axis (e.g., a second diagonal axis, such as an axis from the south and east to the north and west) by a seventh number of degrees at 7740. If the direction that the pointer was dragged is determined to be south-east, nineteenth data can be provided to media interface 3040 that is utilizable to rotate object 3050 about the fourth axis by an eighth number of degrees at 7750.
- a fourth axis e.g., a second diagonal axis, such as an axis from the south and east to the north and west
- nineteenth data can be provided to media interface 3040 that is utilizable to rotate object 3050 about the fourth axis by an eighth number of degrees at 7750.
- FIG. 8 a block diagram of an exemplary process of transforming image data associated with an object into data that can be utilized by a media interface is illustrated, according to one or more embodiments.
- polygons e.g., polygons associated with input data from one or more of 3-D data 8010, two-dimensional (2-D) data 8020, computer aided drawing (CAD) data 8030, and video data 8040
- CAD computer aided drawing
- video data 8040 can be reduced and images can be created at 8110.
- three-dimensional (3-D) data 8010 can include one or more Cinema 4D files associated with a physical object (Cinema 4D Studio is available from Maxon Computer, Inc.).
- 2-D data 8020 can include one or more pictures or digital photography associated with a physical object.
- CAD data 8030 can include one or more CAD files.
- the one or more CAD files can include one or more AutoCAD files (AutoCAD is available from Autodesk, Inc.).
- the one or more CAD files can include one or more TurboCAD files (TurboCAD is available from IMSI/Design, LLC).
- the one or more CAD files can include one or more of a drawing interchange format, a drawing exchange format, a DWG format, a Windows metafile format, a Hewlett- Packard graphics language format, a RenderMan format, a RenderMan interface bytestream format, and a virtual reality modeling language format, among others.
- one or more of data 8010-8040 can be or include meta data associated with a physical object.
- one or more of data 8010-8040 can be or include a function that is utilizable to map the meta data associated with the physical object to a coordinate system (e.g., a Cartesian coordinate system, a spherical coordinate system, etc.).
- CAD data 8030 can include meta data associated with a physical object that characterizes a space, in a three-dimensional coordinate system, occupied by the physical object.
- one or more 2-D images can be created from one or more 3- D coordinate data that can describe an object.
- creating one or more 2-D images from the one or more 3-D coordinate data that can describe the object can include computing one or more projections.
- a 2-D graphical representation of the object can be computed via projecting a description of the object (e.g., described via 3-D coordinate data) onto a 2-D plane to create the 2-D graphical representation of the object.
- 2-D images can be embedded in a 3-D matrix.
- 2-D images 3200- 3451 of FIGs. 5B-5I can be embedded in a 3-D matrix.
- 2-D images e.g., 2-D images 3200-3451 of FIGs. 5B-5I
- 2-D images can be computed via projecting a description of the object (e.g., described via 3-D coordinate data) onto a 2-D plane to create the 2-D images of object 3050 illustrated in FIG. 5.
- 2-D images can be played from the 3-D matrix.
- functional block 81 10 can include one or more same or similar structures and/or functionalities as described with reference to one or more of FIGs.
- FIG. 9 a method of transforming image data of a two-dimensional shape into meta data of the shape is illustrated, according to one or more embodiments.
- a number of circles that covers a shape can be determined.
- circles 10010-10080 can be determined to cover shape 101 10, as illustrated in FIG. 10.
- centers of circles 10010-10080 can lie on edges of a polygon 10210.
- an angle can be determined. In one or more embodiments, angles of a radius of a circle can be iterated from a first edge of a polygon to a second edge of a polygon.
- an angle can be determined to be theta, where theta is a number of degrees or radians.
- An exemplary radius 11010 at an angle theta is illustrated in FIG. 1 1 A.
- processing a next iteration for a circle an angle can be determined to be a previous angle plus theta, where theta is a number of degrees or radians.
- radius 1 1010 at a next angle is illustrated in FIG. 1 IB.
- data associated with the intersection can be stored at 9040.
- the data associated with the intersection can include a measure, according to some metric, from a center of the circle to the intersection of the radius of the circle and the shape.
- the measure can include a floating-point number.
- the measure can include an integral number.
- a measure 1 1210 as shown in FIG. 1 IB, can be stored.
- a measure 11220 as shown in FIG.
- shape 10110 can be considered a solid object, where an intersection of a radius of a circle and the solid object, determined with reference to the method of FIG. 9, is a minimum measure of any intersection of the radius of the circle and the solid object for the angle (e.g., 2 ⁇ ).
- it can be determined if there is another angle to process. If there is another angle to process, an angle can be incremented at 9070. In one example, the angle that was previously processed can be incremented theta degrees or radians. In another example, the angle that was previously processed can be incremented an integral number of theta degrees or radians. If there is not another angle to process, another circle to process can be determined at 9080.
- the other circle or a next circle can include circle 10020. In another example, the other circle or a next circle can include a circle from circles 10030-10080.
- a method of transforming image data of a three-dimensional shape into meta data of the shape is illustrated, according to one or more embodiments.
- a number of spheres that covers a shape can be determined.
- spheres 13310-1334 can be determined to cover shape 13010, as illustrated in FIGs. 13B and 13C.
- centers of the determined spheres_can lie on edges of a polyhedron (e.g., a cuboid).
- centers of spheres 13310-13316 can lie on edge 13224 of a polyhedron 131
- centers of spheres 13320-13326 can lie on edge 13214 of polyhedron 13110
- centers of spheres 13330-13336 can lie on edge 13230 of polyhedronl3110
- centers of spheres 1338-13344 can lie on edge 13210 of polyhedron 131 10.
- polyhedron 13110 can include other edges, such as edges 13210, 13216, 13218, 13220, 13228, and 13232.
- an angle of a radius of a sphere with reference to a plane can be determined.
- the angle of the radius of the sphere with reference to the plane can include an integral number multiplied by a number phi.
- the plane can include polyhedron edges 13224 and 13230, and the angle of the radius of the sphere with reference to the plane can include an integer "b" multiplied by phi or bcp.
- b can be variable over a first set of numbers such that 0 ⁇ bcp ⁇ 90 degrees (or ⁇ /2 radians).
- the angle of the radius of the sphere with reference to the plane can be an angle between a radius 141 10 of sphere 13312 and an axis 14010 of sphere 13314.
- FIG. 14B illustrates the angle of the radius of the sphere with reference to the plane, from a different perspective.
- an angle of the radius of the sphere with reference to an edge of a polyhedron can be determined.
- the angle of the radius of the sphere with reference to the edge of the polyhedron can include an integral number multiplied by a number theta.
- the edge of the polyhedron can include edge 13224, and the angle of the radius of the sphere with reference to the edge of the polyhedron can include an integer "c" multiplied by theta or c9.
- c can be variable over a second set of numbers such that 0 ⁇ c9 ⁇ 180 degrees (or ⁇ radians).
- FIG. 14C illustrates the angle of the radius of the sphere with reference to the edge of the polyhedron, from a different perspective.
- c can be variable over a set of numbers such that 0 ⁇ c9 ⁇ 90 degrees (or ⁇ /2 radians) when an axis of a sphere intersects two different edges of a polyhedron.
- c can be variable over a set of numbers such that 0 ⁇ c9 ⁇ 90 degrees (or ⁇ /2 radians) for sphere 13310.
- the radius of the sphere and the shape it can be determined if there is an intersection of the radius of the sphere and the shape. For example, it can be determined if there is an intersection of radius 14110 of sphere 13314 and shape 13010. If there is not an intersection of the radius of the sphere and the shape, data associated with no intersection can be stored at 12060. For example, a number zero can be stored to indicate that there is no intersection of the radius of the sphere and the shape. If there is an intersection of the radius of the sphere and the shape, data associated with the intersection can be stored at 12050. For example, there is an intersection of radius 14110 of sphere 13314 and shape 13010 as illustrated in FIG. 14A.
- the data associated with the intersection can include a measure, according to some metric, from a center of the sphere to the intersection of the radius of the sphere and the shape.
- the measure can include a floating-point number.
- the measure can include an integral number.
- a measure 14100, as shown in FIG. 14A can be stored.
- shape 13010 can be considered a solid object, where an intersection of the radius of the sphere and the solid object, determined with reference to the method of FIG.
- a cube that encompasses a shape can be determined.
- a cube 16020 can be determined to encompass shape 13010, as illustrated in FIG. 16A.
- three centers of three spheres can lie on each of cube edges 16210-16232, and a diameter of the three spheres lying on an edge of cube 16020 can be equal to a size of an edge.
- centers of spheres 16310-16314 can lie on edge 16224, as illustrated in FIG. 16B.
- center of sphere 16312 can lie on edge 16224, and sphere 16312 can be tangent to edges 16228 and 16222.
- center of sphere 16310 can lie at an intersection of edges 16224-13228, and center of sphere 16314 can lie at an intersection of edges 16220-13224.
- three spheres, with a diameter of an edge of cube 16020, can lie on an edge of cube 16020.
- spheres 16310-16314 can lie on edge 16224
- spheres 16314- 16318 can lie on edge 16220
- spheres 16318-16322 can lie on edge 16214.
- a center of a sphere can lie on a face of cube 16020, and the sphere can be tangent to edges of cube 16020 that bound the face of cube 16020.
- a center of a sphere 16326 can lie on a face 161 12 of cube 16020, and sphere 16326 can be tangent to edges 16222, 16224, 16228, and 16230, as illustrated in FIG. 16D.
- centers of respective spheres can lie on respective faces of cube 16020, where each sphere can be tangent to edges of cube 16020 that bound the respective face of cube 16020, and centers of three spheres can lie on each edge of cube 16020. For example, this is illustrated in FIG. 16E.
- an angle of a radius of a sphere, with reference to an axis of the sphere can be determined at 15020.
- the angle of the radius of the sphere with reference to its axis can include a number (e.g., an integral number, a floating point number, etc.) multiplied by a number phi.
- the angle of the radius of the sphere with reference to its axis 16410 can include a number "b" multiplied by phi or bcp.
- b can be variable over a first set of numbers such that 0 ⁇ bcp ⁇ 90 degrees (or ⁇ /2 radians).
- the first set of numbers can include ⁇ 1, 2, 3,..., m ⁇ , where m can be an integer.
- the first set of numbers can include ⁇ 1.0, 1.1, 1.2, 1.3,...,2.0, 2.1,..., m ⁇ , where m can be a floating point number.
- FIG. 16G illustrates the angle of the radius of the sphere with reference its axis 16410, from a different perspective.
- an angle of the radius of the sphere with reference to an edge of cube 16020 can be determined.
- an angle of a radius of a sphere with reference to a tangent edge of a cube can include a number multiplied by a number theta.
- sphere 16326 can be tangent to edge 16220 of cube 16020, and the angle of the radius of the sphere with reference to edge 16220 can include a number "c" multiplied by theta or c9.
- c9 is in a plane that includes and/or is formed by at least two of edges 16214, 16220, 16224, and 16226.
- FIG. 16H illustrates the angle of the radius of the sphere with reference to tangent edge 16220, from a different perspective.
- c can be variable over a second set of numbers such that 0 ⁇ c9 ⁇ 360 degrees (or 2 ⁇ radians).
- the second set of numbers can include ⁇ 1, 2, 3,..., n ⁇ , where n can be an integer.
- the second set of numbers can include ⁇ 1.0, 1.1, 1.2, 1.3,...,2.0, 2.1,..., n ⁇ , where n can be a floating point number.
- a sphere can lie on an edge of a cube.
- a sphere can lie on an edge of the cube and be tangent to four edges of the cube. For instance, c can be variable over a second set of numbers such that 0 ⁇ c9 ⁇ 180 degrees (or ⁇ radians). In another example, a sphere can lie on three edges of the cube. For instance, c can be variable over a second set of numbers such that 0 ⁇ c9 ⁇ 90 degrees (or ⁇ /2 radians). [0237] At 15040, it can be determined if there is an intersection of the radius of the sphere and the shape. For example, it can be determined if there is an intersection of radius 16410 of sphere 16326 and shape 13010.
- data associated with no intersection can be stored at 15060. For example, a number zero can be stored to indicate that there is no intersection of the radius of the sphere and the shape. If there is an intersection of the radius of the sphere and the shape, data associated with the intersection can be stored at 15050. For example, there is an intersection of radius 16410 of sphere 16326 and shape 13010 is illustrated in FIG. 16F.
- the data associated with the intersection can include a measure, according to some metric, from a center of the sphere to the intersection of the radius of the sphere and the shape.
- the measure can include a floating-point number.
- the measure can include an integral number.
- shape 13010 can be considered a solid object, where an intersection of the radius of the sphere and the solid object, determined with reference to the method of FIG.
- the method can proceed to 15020. If there is another angle of the radius of the sphere, with reference to the tangent edge of the cube, to process, a next number in the second set of numbers can be utilized at 15080. If there is not another angle of the radius of the sphere, with reference to the tangent edge of the cube, to process, it can be determined if there is another angle of the radius of the sphere with reference the its axis to process at 15090. If there is another angle of the radius of the sphere, with reference to its axis, to process, a next number in the first set of numbers can be utilized at 15100. If there is not another angle of the radius of the sphere, with reference to its axis, to process, another sphere to be processed can be determined at 151 10. In one or more embodiments, the method can proceed to 15020.
- a method of reducing data associated with a shape is illustrated, according to one or more embodiments.
- a first data structure that is stored by a first memory medium can be accessed.
- a number of measure elements can be determined from the first data structure.
- a measure element can include measure 11210.
- a measure element can include measure 11220.
- a measure element can include measure 14100.
- a measure element can include measure 16100.
- a number of dimensions can be determined from the first data structure. In one example, the number of dimensions can be one.
- the measure elements can be measure elements from circle 10010, where each measure element corresponds to an angle b0, where b can be an element of a set of numbers.
- the number of dimensions can be two.
- the measure elements can be measure elements from sphere 16326, where each measure element corresponds to a first angle bcp and a second angle c9, where b can be an element of a first set of numbers and c can be an element of a second set of numbers.
- two or more measure elements, from the first data structure can be accessed.
- accessing the two or more measure elements can include accessing the first memory medium via the data structure.
- the data structure can provide an addressing scheme, method, and/or process to retrieve data from the first memory medium.
- the data structure can store vectors associated with respective circles or matrices associated with respective spheres that cover a shape.
- the data structure can store vectors associated with respective circles 10010-10080 that cover shape 101 10.
- the data structure can store matrices associated with respective spheres 13310-13344 that cover shape 13010.
- the two or more measure elements can be adjacent elements.
- the measure elements can include (a ls a 2 , a 3 ,...,a m ) for some integer m, where a; includes a measure associated with circle 10010.
- measure elements ai and a 2 can be adjacent.
- measure elements a 2 and a 3 can be adjacent.
- measure elements a m _i and a m can be adjacent.
- measure elements a ls a 2 , and a 3 can be adjacent.
- measure elements a 2 , a3, and a 4 can be adjacent.
- measure elements a m _ 2 , a, m-1 , a m can be adjacent.
- the measure elements can include M O M for some d , L d integers m and n, where dij includes a measure associated with sphere 16326.
- measure elements dn and d2i can be adjacent.
- measure elements dn and d 12 can be adjacent.
- measure elements dn and 622 can be adjacent.
- measure elements dn, d 21 , and d 3 i can be adjacent.
- measure elements dn, d , and dn can be adjacent.
- measure elements dn, d22, and d33 can be adjacent.
- a mean of the two or more measures can be computed.
- the mean can include at least one of an arithmetic mean, a geometric mean, a harmonic mean, a quadratic mean (or a root-mean square mean), and a generalized mean, among others.
- the mean of the two or more measures can be stored in a second data structure.
- the second data structure can be stored in the first memory medium.
- the second data structure can be stored in a second memory medium.
- the method illustrated in FIG. 17 can be applied to each circle or sphere that is utilized to cover a shape. In one example, the method illustrated in FIG. 17 can be applied to each of circles 10010-10080. In a second example, the method illustrated in FIG. 17 can be applied to each of the spheres illustrated in FIG. 16E.
- the second data structure can be accessed.
- the second data structure is associated with the method illustrated in FIG. 17.
- a number of measure elements can be determined from the second data structure.
- a number of dimensions can be determined from the second data structure.
- a mean measure element of the second data structure can be accessed.
- one or more angles associated with the mean measure element can be computed.
- an angle bO/2 can be computed for a mean measure associated with adjacent measure elements ai and a2.
- an angle c9/2 can be computed for a mean measure associated with adjacent measure elements dn and d 12 .
- an angle bcp/2 can be computed for a mean measure associated with adjacent measure elements dn and d 21 .
- the mean measure element can be stored with coordinates associated with the one or more angles can be stored in a third data structure.
- the third data structure can include a graphics file.
- the graphics file can include one or more of a joint photographic experts group (JPEG) format, a portable network graphics (PNG) format, a tagged image file format (TIFF), an exchangeable image file format (EXIF), a RAW format, a bitmap (BMP) format, a graphic interchange format (GIF), and a vector file format, among others.
- JPEG joint photographic experts group
- PNG portable network graphics
- TIFF tagged image file format
- EXIF exchangeable image file format
- RAW bitmap
- BMP bitmap
- GIF graphic interchange format
- the graphics file can include one or more of a drawing interchange format, a drawing exchange format, a DWG format, a Windows metafile format, a Hewlett-Packard graphics language format, a RenderMan format, a RenderMan interface bytestream format, and a virtual reality modeling language format, among others.
- the method can proceed to 18040, according to one or more embodiments.
- a metric can include units of a coordinate system.
- the coordinate system can include a Cartesian coordinate system.
- units of the Cartesian coordinate system can include inches, feet, meters, centimeters, millimeters, etc.
- the coordinate system can include a spherical coordinate system.
- first units of the coordinate system can include radians for measures of phi and theta
- second units of the coordinate system can include inches, feet, meters, centimeters, millimeters, etc. for rho.
- FIG. 19 a network system that supports storage of data and configurations of physical devices and emulation of the physical devices is illustrated, according to one or more embodiments.
- CCDs 1 11 1-11 13 and/or mobile devices (MDs) 191 10- 191 12 can be coupled to computer system (CS) 19010 via network 1010.
- CS 19010 can include one or more structures and/or functionalities described with reference to media server 121 1, and server app 19410, server APP 19411, server APP 19440, and API server APP 19450 can include one or more structures and/or functionalities described with reference to server app 6410, server APP 6411, server APP 6440, and API server APP 6450, respectively.
- CS 19010 can include a storage 19610, can be coupled to a storage 1961 1, and/or can be coupled to a storage 19612 via network 1010.
- one or more of storages 19610-19622 can include non-volatile storage and/or memory that can store configurations and/or data of one or more of MDs 191 10-191 12.
- CS 19010 and/or storages 19610-19622 can provide and/or implement one or more system for synchronizing and/or storing preferences, configuration(s), installed applications of a physical mobile device (MD) in a system independent format (e.g., the system can be used for multiple OS types and/or multiple platform types).
- MD physical mobile device
- one or more granular levels may not require that a recovered system synchronize its data, information, and/or configuration with CS 19010 and/or storages 19610-19622) of data (e.g. data such as applications, contact list(s), photos, videos, ring tone(s), sound preference(s), etc.) can be stored and/or retrieved.
- data e.g. data such as applications, contact list(s), photos, videos, ring tone(s), sound preference(s), etc.
- an API can be provided and/or made available that can be utilized in storing and retrieving associated information and/or data of and/or associated with one or more physical mobile devices.
- multiple devices can be configured and/or recovered from CS 19010 and/or storages 19610-19622. In one instance, each of the multiple devices can be configured and/or recovered with respective associated data and/or configuration(s).
- multiple devices can be configured and/or recovered from CS 19010 and/or storages 19610-19622.
- each of the multiple devices can be configured and/or recovered with same data and/or configuration(s).
- a company can issue multiple wireless telephones to a sales group, and each of the multiple wireless telephones can be configured with one or more of a contact list, sales presentations, and smart phone applications, among others, for the sales group.
- FIGs. 20-22 network systems that supports storage of data and configurations of physical mobile devices are illustrated, according to one or more embodiments.
- mobile device data (MDD) 20110 associated with MD 191 10 can be stored via storage 19510 that can be included in CS 19010.
- MDD can include data and/or configuration data associated with a MD.
- the MDD can include one or more sound recordings (e.g., MP3 songs, musical pieces, voice memos, conversations, lectures, etc.), one or more contacts (e.g., contact information associated with people, places, companies, etc.), one or more bookmarks (e.g., web browser book marks), one or more ebooks, one or more social networking sites' respective information (e.g., Facebook information, Twitter information, My Space information, Foursquare information, Last.fm information, Google+ information, etc.) associated with a user of the MD, one or more mobile device apps (e.g., smart phone apps, tablet computer apps, music player apps, etc.), and/or one or more configurations of the MD associated with the MDD, among others.
- MDD 201 11 associated with MD 191 11 can be stored via storage 19511 that can be coupled to CS 19010.
- MDD 201 11 associated with MD 19112 can be stored via storage 19512 that can be coupled to network 1010.
- a MD can include executable instructions (e.g., an application, a utility, an operating system, a portion of an operating system, etc.) that, when the executable instructions are executed by a processor of the MD, the MD can synchronize, backup, restore, and/or initialize MDD associated with the MD.
- executable instructions e.g., an application, a utility, an operating system, a portion of an operating system, etc.
- the MD can synchronize and/or backup MDD associated with the MD via a wired or wireless coupling to a local system (e.g., a local computer system, a personal computer, a laptop computer system, a local office computer system, etc.) and/or via network 1010 to a remote system such as CS 19010 and/or storages 19510-19512, a distributed computer system, and/or a cloud-based system.
- a local system e.g., a local computer system, a personal computer, a laptop computer system, a local office computer system, etc.
- a remote system such as CS 19010 and/or storages 19510-19512, a distributed computer system, and/or a cloud-based system.
- the MD can incrementally synchronize changes in the MDD. For instance, one or more synchronization updates can utilize one or more portions of the MDD and/or may not require a full and/or complete duplication of the MDD.
- the MDD can include information associated with one or more states of the MD associated with the MD.
- the MD can receive the MDD from CS 19010 and restore the MD to one or more states, based on the MDD.
- the MD can receive the MDD from CS 19010 and can perform a "fresh" install, even if the MDD indicates a particular state or if the MD is in a particular state.
- the MD can receive user input that indicates one or more selected items to restore which can be in addition to what is present and/or to overwrite existing properties/data.
- FIGs. 23-25 network systems that supports recovery and/or restoration of data and configurations of physical mobile devices are illustrated, according to one or more embodiments.
- MDD 201 10 can be restored to MD 191 10.
- MDD 201 11 can be restored to MD 191 11.
- MDD 201 12 can be restored to MD 19112.
- recovery and/or restoration of MDD associated with a first MD or recovery and/or restoration of one or more portions of the MDD associated with the first MD can be utilized with the first MD or can be utilized with a second MD, different from the first MD.
- the first MD can be physically different from the second MD.
- the first MD can include a first processor, a first memory, and a first integrated circuit; the second MD a second processor, a second memory, and a second integrated circuit; and at least one of the first processor, the first memory, and the first integrated circuit can be different from a respective one of the second processor, the second memory, and the second integrated circuit.
- the first MD can execute an operating system and/or platform different from the second MD.
- the first MD can execute a first operating system and/or a first platform
- the second MD can execute a second operating system and/or a second platform, where at least one of the first operating system and the first platform can be different from a respective one of the second operating system and the second platform.
- this can allow recovery and/or restoration of MDD onto the second MD that did not perform backup and/or synchronization methods and/or processes.
- one or more portions of the MDD may not be applicable to the second MD.
- the first MD can execute an Android operating system and/or platform
- the second MD can execute Windows Mobile operating system and/or platform
- one or more applications e.g., smart phone apps
- one or more portions of the MDD can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, such that the one or more portions of the MDD can be utilized by the second MD.
- a contact list can be included in the MDD, the contact list can be stored and/or indexed in a format that is associated with an Android operating system and/or platform, and the contact list can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, such that the Windows Mobile operating system and/or platform of the second MD can utilize information from the contact list.
- FIGs. 26-28 network systems that supports recovery and/or restoration of data and configurations of physical mobile devices are illustrated, according to one or more embodiments.
- MDD 20110 or one or more portions of MDD 20110 can be restored to a MD 261 10.
- MDD 201 11 or one or more portions of MDD 2011 1 can be restored to a MD 261 11.
- MDD 201 12 or one or more portions of MDD 201 12 can be restored to MD 261 12.
- one or more emulators can emulate one or more physical mobile devices.
- emulator 19422 can emulate MD 191 10, emulator 19423 can emulate MD 1911 1, and/or emulator 19424 can emulate MD 191 12.
- MDD 20110 can be copied and/or transferred to emulator 19422.
- emulator 19422 can emulate MD 261 10, emulator 19423 can emulate MD 261 11, and/or emulator 19424 can emulate MD 261 12.
- MDD 20110 or one or more portions of MD 20110 can be copied and/or transferred to emulator 19422; MDD 201 11 or one or more portions of MD 201 11 can be copied and/or transferred to emulator 19423; and MDD 201 12 or one or more portions of MD 20112 can be copied and/or transferred to emulator 19424.
- one or more portions of MDD can be copied and/or transferred to an emulator when a method and/or process of and/or associated with the emulator requests the one or more portions of the MDD.
- one or more portions of MDD 20110 can be copied and/or transferred to emulator 19422 when a method and/or process of and/or associated with emulator 19422 requests the one or more portions of MDD 20110.
- one or more portions of MDD 201 11 can be copied and/or transferred to emulator 19423 when a method and/or process of and/or associated with emulator 19423 requests the one or more portions of MDD 201 11.
- one or more portions of MDD 20112 can be copied and/or transferred to emulator 19424 when a method and/or process of and/or associated with emulator 19424 requests the one or more portions of MDD 201 12.
- the MDD or one or more portions of MDD can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, and transferred to an emulator when a method and/or process of and/or associated with the emulator requests the MDD or the one or more portions of the MDD.
- MDD 20110 or one or more portions of MDD 20110 can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, and transferred to emulator 19422 when a method and/or process of and/or associated with emulator 19422 requests the one or more portions of MDD 20110.
- MDD 201 11 or one or more portions of MDD 201 11 can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, and transferred to emulator 19423 when a method and/or process of and/or associated with emulator 19423 requests the one or more portions of MDD 201 11.
- MDD 201 12 or one or more portions of MDD 20112 can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, and transferred to emulator 19424 when a method and/or process of and/or associated with emulator 19424 requests the one or more portions of MDD 201 12.
- transferring data to an emulator e.g., an emulator of emulators 19422- 19423 can include providing availability of and/or access to the data by the emulator.
- an emulator can include executable instructions (e.g., an application, a utility, an operating system, a portion of an operating system, etc.), that when the executable instructions are executed by an emulated processor of the emulator, the emulator can synchronize, backup, restore, and/or initialize MDD associated with an associated MD.
- the emulator can initiate synchronization of one or more settings, one or more configurations, and/or information from the MDD.
- the emulator can initiate synchronization of one or more settings, one or more configurations, and/or information from the MDD, where the MDD is associated with a MD that includes and/or executes a first operating and/or a first platform than a second, different, operating system and/or a second, different, platform.
- one or more portions of the MDD can be transformed, altered, converted, translated, adapted, adjusted, changed, modified, and/or adapted, among others, and transferred to the emulator when a method and/or process of and/or associated with the emulator requests the one or more portions of the MDD associated with the MD.
- one or more modifications to the MDD and/or a base image of the emulator can be stored.
- the one or more modifications can be stored temporarily and erased and/or discarded after the emulator is terminated and/or concludes operations.
- a determination of what information associated with the MDD to restore and/or to initialize the emulator can be made.
- the determination can include a full restoration of the MDD to the emulator.
- the determination can include a restoration of one or more portions of the MDD to the emulator.
- the determination can be based on user input and/or one or more user preferences and/or configurations.
- the determination can be based on one or more attributes associated with the emulator and/or one or more attributes associated with the MD.
- the determination can be based on one or more similarities between or among the one or more attributes associated with the emulator and the one or more attributes associated with the MD.
- the determination can be based on one or more differences between or among the one or more attributes associated with the emulator and the one or more attributes associated with the MD.
- the one or attributes associated with the emulator can include one or more of an operating system, a platform, an emulated processor, an emulated memory, an emulated integrated circuit, an emulated GPU, an emulated WiFi device (e.g., an emulated WiFi interface), an emulated WiMAX device (e.g., an emulated WiMAX interface), an emulated GPS device, an emulated GSM device (e.g., an emulated GSM interface), an emulated CDMA device (e.g., an emulated CDMA interface), an emulated satellite telephone network interface, an emulated Bluetooth device (e.g., an emulated Bluetooth interface), an emulated ZigBEE device (e.g., an emulated ZigBEE interface), an emulated GPS device, an emulated Ethernet device (e.g., an emulated Ethernet interface), an emulated proximity sensing device, an emulated magnetometer, an emulated accelerometer, an emulated pressure transducer, an emulated humidity sensing device, an emulated capacitive sensing touch device, an
- the one or attributes associated with the MD can include one or more of an operating system, a platform, a processor, a memory, an integrated circuit, a GPU, a WiFi device (e.g., a WiFi interface), WiMAX device (e.g., a WiMAX interface), a GPS device, a GSM device (e.g., a GSM interface), a CDMA device (e.g., a CDMA interface), a satellite telephone network interface, a Bluetooth device (e.g., a Bluetooth interface), a ZigBEE device (e.g., a ZigBEE interface), a GPS device, an Ethernet device (e.g., an Ethernet interface), a proximity sensing device, a magnetometer, an accelerometer, a pressure transducer, a humidity sensing device, a capacitive sensing touch device, a resistive sensing touch device, an electronic gyroscope, a gas sensing device, an image sensing device (e.g
- FIGs. 30-32 local area network systems that supports storage of data and configurations of physical mobile devices are illustrated, according to one or more embodiments.
- MDD 20110 associated with MD 191 10 can be stored via storage 30510 that can be included in a local CS 30011.
- MD 19110 and local CS 3001 1 can be coupled to a local area network (LAN) 30010.
- LAN local area network
- local CS 30011 can include one or more of a computer system, a server computer system, a laptop computer system, a notebook computing device, a portable computer, a network appliance, a television device, a DVD (digital video disc player) device, a Blu-Ray disc player device, a DVR (digital video recorder) device, or other wireless or wired device that includes a processor that executes instructions from a memory medium.
- a computer system a server computer system, a laptop computer system, a notebook computing device, a portable computer, a network appliance, a television device, a DVD (digital video disc player) device, a Blu-Ray disc player device, a DVR (digital video recorder) device, or other wireless or wired device that includes a processor that executes instructions from a memory medium.
- LAN 30010 can include a wired network.
- LAN 30010 can include a wired network based on wired Ethernet.
- LAN 30010 can include a wired network based on wired Ethernet over one or more power lines.
- LAN 30010 can include a wired network based on one or more of IEEE 1901, IEEE1675, HomePNA, and HomePlug, among others.
- LAN 30010 can include a wireless network.
- LAN 30010 can include a wireless network based on wireless Ethernet (e.g., based on IEEE 802.11).
- LAN 30010 can include a wireless network based on Bluetooth (e.g., based on IEEE 802.15).
- LAN 30010 can include a wireless network based on wireless USB.
- LAN 30010 can include a wireless network based on one or more of IEEE 802.15.4 and ZigBEE, among others.
- MDD 201 11 associated with MD 1911 1 can be stored via storage 30511 that can be coupled to local CS 3001 1.
- MDD 201 12 associated with MD 19112 can be stored via storage 30512 that can be coupled to LAN 30010.
- FIGs. 33-35 local network systems that supports recovery and/or restoration of data and configurations of physical mobile devices are illustrated, according to one or more embodiments.
- MDD 20110 can be restored to MD 19110.
- MDD 2011 1 can be restored to MD 191 1 1.
- MDD 20112 can be restored to MD 191 12.
- MDD can be transferred, via a network, from a first computer system to a second computer system.
- local CS 3001 1 can be coupled to network 1010.
- MDD 20110 can be transferred, via network 1010, from CS 19010 to local CS 30011.
- MDD 2011 1 can be transferred, via network 1010, from CS 19010 to local CS 3001 1.
- LAN 30010 can be coupled to network 1010.
- MDD can be transferred, via a first network, from a first computer system to storage coupled to a second network.
- MDD 201 12 can be transferred, via network 1010 and LAN 30010, from CS 19010 to storage 30512.
- FIGs. 38-40 local network systems that supports recovery and/or restoration of data and configurations of physical mobile devices are illustrated, according to one or more embodiments.
- MDD 201 10 or one or more portions of MDD 201 10 can be restored to MD 261 10.
- MDD 2011 1 or one or more portions of MDD 201 11 can be restored to MD 261 11.
- MDD 20112 or one or more portions of MDD 20112 can be restored to MD 26112.
- a session initiation protocol (SIP) gateway 41 110 can be coupled to network 1010.
- SIP can be utilized in controlling one or more communications sessions.
- SIP can be utilized in controlling voice and/or video calls via a network protocol (e.g., an Internet protocol).
- a network protocol e.g., an Internet protocol
- SIP can be utilized in creating, modifying two or more party communication sessions.
- the communications sessions can include one or more media streams.
- a SMS gateway 41 120 can be coupled to network 1010.
- SMS gateway 41 120 can include a telecommunications device and/or facility for sending and/or receiving SMS transmissions to and/or from a telecommunications network.
- local CS 3001 1 can include a SIP/VoIP proxy 41210 coupled to emulator 19422.
- SIP/VoIP proxy 41210 and emulator 19422 can communicate via one or more processes and/or methods described herein.
- VoIP and/or IP encapsulated SMS and/or multimedia messaging service (MMS) termination can be implemented and/or provided within emulator 19422.
- local CS 30011 can include a SMS proxy 41220 coupled to emulator 19422.
- SIP/VoIP proxy 41210 and emulator 19422 can communicate via one or more processes and/or methods described herein.
- SIP gateway 41 110 and SIP/VoIP proxy 41210 can communicate via network 1010.
- SIP gateway 41 110 can route telephone calls and/or video calls to and/or from SIP/VoIP proxy 41210.
- SIP/VoIP proxy 41210 can receive can emulate one or more GSM and/or CDMA signals that can carry the telephone calls and/or video calls and can provide the signals that can carry the telephone calls and/or video calls to emulator 19422.
- SIP/VoIP proxy 41210 can receive one or more GSM and/or CDMA emulated signals that can carry the telephone calls and/or video calls from emulator 19422 and can provide the telephone calls and/or video calls to SIP gateway 411 10.
- local CS 30011 can include a client app 41230 coupled to emulator 19422.
- client app 41230 and emulator 19422 can communicate via one or more processes and/or methods described herein.
- local CS 3001 1 can be or include CCD 11 11
- client app 41230 can be or include client interface 63021.
- a user of local CS 3001 1 can control and/or utilize emulator as a telephone via one or more of client interface 63021, interactive media interface, and media interface 6541.
- one or more interactions with emulator 19422 can be conducted via a web browser interfacing with a web server of emulator 19422.
- an alert can be provided to the user of local CS 3001 1.
- the alert can include a display notification that can open a window displayed via a display associated with local CS 30011.
- the alert can include one or more sounds.
- the one or more sounds can include one or more sounds of a telephone ringing.
- the one or more sounds can include one or more sounds of a message arriving.
- a telephone system associated with emulator 19422 and/or a physical MD associated with emulator 19422 can function as if the physical MD is turned off, is not functioning, and/or is not in communication with a Node B, a base transceiver station, or a satellite.
- a VoIP, a SMS, and/or a MMS termination point for emulator 19422 can be terminated.
- local CS 30011 can include or be coupled to one or more of a camera, a display, a microphone, and a speaker.
- the microphone and the speaker associated with local CS 3001 1 can be utilized in one or more telephonic communications.
- the camera and the display associated with local CS 3001 1 can be utilized in one or more video communications.
- local CS 3001 1 can include one or more structures and/or functionalities described with reference to computing device 42001 1 of FIG. 42 and/or of FIG 43.
- CD 42011 can include a processor 42010 coupled to a memory medium 42020.
- memory medium 42020 can store data and/or instructions that can be executed by processor 42010.
- memory medium 42020 can store one or more APPs 42030-42032, an OS 42035, MDD 201 10, client app 41230, emulator 19422, SIP/VoIP proxy 41210, and/or SMS proxy 41220.
- one or more of APPs 42030-42032, OS 42035, client app 41230, emulator 19422, SIP/VoIP proxy 41210, and SMS proxy 41220 can include instructions of an ISA associated with processor 42010.
- processor 42010 executes one or more of APPs 42030-42032, OS 42035, client app 41230, emulator 19422, SIP/VoIP proxy 41210, and SMS proxy 41220.
- CD 42011 can include a display 42020 coupled to processor 42010.
- display 42020 can be utilized to display one or more of graphics and/or videos to a user.
- CD 4201 1 can include a network interface 42040.
- network interface 2040 can interface with a wired network coupling, such as a wired Ethernet, a T-l, a DSL modem, a PSTN, or a cable modem, among others.
- network interface 42040 can interface with a wireless network coupling, such as a satellite telephone system, a cellular telephone system, WiMax, or wireless Ethernet, among others.
- CD 4201 1 can include a speaker 42050 coupled to processor 42010.
- speaker 42050 can output one or more sounds that can be received, aurally, by a user of CD 4201 1.
- speaker 42050 can be coupled to processor 42010 via a digital to analog converter (DAC).
- DAC digital to analog converter
- the DAC can receive digital signals from processor 42050 and transform the digital signals to analog signals.
- CD 4201 1 can include a microphone 42060 coupled to processor 42010.
- microphone 42060 can receive audio signals and can transform the audio signals into one or more voltage signals, one or more current signal, and/or one or more digital signals that can be utilized by processor 42010.
- an analog to digital converter ADC
- the ADC can interpose processor 42010 and microphone 42060 such that microphone 42060 is coupled to processor 42010 via the ADC.
- CD 4201 1 can include a camera 42070 coupled to processor 42010.
- camera 42070 can include one or more image and/or light sensors that can transform received light signals into one or more digital signals that can be utilized by processor 42010.
- CD 42011 can be coupled to and/or include one or more of a keyboard and a pointing device (e.g., a mouse, a track ball, a track pad, a stylus, etc.).
- a touch screen can function as a pointing device.
- the touch screen can determine a position via one or more pressure sensors.
- the touch screen can determine a position via one or more capacitive sensors.
- FIG. 43 an exemplary computing device is illustrated, according to one or more embodiments. As illustrated, one or more of display 42040, speaker 42050, microphone 42060, and camera 42070 can be coupled to CD 4201 1.
- a SIP gateway 44110 can be coupled to network 1010.
- SIP gateway 441 10 can include one or more same or similar structures and/or functionalities as described with reference to SIP gateway 41 110.
- a SMS gateway 44120 can be coupled to network 1010.
- SMS gateway 44120 can include one or more same or similar structures and/or functionalities as described with reference to SMS gateway 41 120.
- CS 19010 can include a SIP/VoIP proxy 44210 coupled to emulators 19422-19424.
- SIP/VoIP proxy 44210 and emulators 19422-19424 can communicate via one or more processes and/or methods described herein.
- CS 19010 can include a SMS proxy 44220 coupled to emulators 19422-19424.
- SMS proxy 44220 and emulators 19422-19424 can communicate via one or more processes and/or methods described herein.
- VoIP and/or IP encapsulated SMS and/or MMS termination can be implemented and/or provided within one or more emulators 19422-19424.
- SIP gateway 44110 and SIP/VoIP proxy 44210 can communicate via network 1010.
- SIP gateway 44110 can route telephone calls and/or video calls to and/or from SIP/VoIP proxy 44210.
- SIP/VoIP proxy 44210 can receive can emulate one or more signals (e.g., GSM signals, CDMA signals, etc.) that can carry the telephone calls and/or video calls and can provide signals that can carry the telephone calls and/or video calls to one or more of emulators 19422-19424.
- GSM signals, CDMA signals, etc. can carry the telephone calls and/or video calls and can provide signals that can carry the telephone calls and/or video calls to one or more of emulators 19422-19424.
- SIP/VoIP proxy 44210 can receive one or more emulated signals (e.g., emulated GSM signals, emulated CDMA signals, etc.) that can carry the telephone calls and/or video calls from one or more emulators 19422-19424 and can provide the telephone calls and/or video calls to SIP gateway 441 10.
- emulators 19422-19424 can be operated and/or controlled by respective CCDs 1 1 11-1 113.
- emulators 19422-19424 can be operated and/or controlled by respective client interfaces 63021-63023.
- each of client interfaces 63021-63023 can include a web browser that operates and/or controls a respective emulator.
- each emulator of emulators 19422-19424 can provide and/or implement authentication, authorization, and/or access control to determine that a user can interact with, utilize, and/or operate the emulator.
- an emulator of emulators 19422- 19424 can receive identification information associated with a user and/or a user account and/or can receive a password associated with the user and/or the user account to determine that the user can interact with, utilize, and/or operate the emulator.
- the emulator can authenticate and/or authorize the identification information and/or the password with a database.
- the emulator can authenticate and/or authorize the identification information and/or the password with at least one of a home location register (HLR) and a visiting location register (VLR), among others.
- the emulator can authenticate and/or authorize the identification information and/or the password with an authentication, authorization, and accounting (AAA) server and/or service.
- HLR home location register
- VLR visiting location register
- AAA authentication, authorization, and accounting
- an alert can be provided to a user via a CCD (e.g., a CCD of CCDs 1 11 1-1 113) utilized by the user.
- the alert can include a display notification that can open a window displayed via a display associated with the CCD.
- the alert can include one or more sounds.
- the one or more sounds can include one or more sounds of a telephone ringing.
- the one or more sounds can include one or more sounds of a message arriving.
- a telephone system associated with the emulator and/or a physical MD associated with the emulator can function as if the physical MD is turned off, is not functioning, and/or is not in communication with a Node B, a base transceiver station, or a satellite.
- a VoIP, a SMS, and/or a MMS termination point for the emulator can be terminated.
- an alternate notification process, method, and/or path can be utilized if the emulator is not running or not executing.
- a push notification can be provided to the CDD of the user.
- a text message e.g., a SMS message, an email message, etc.
- a text message indicating that an incoming telephone call, voice message, and/or other message (e.g., a text message)
- a SMS message can be provided to the other device (e.g., a wireless telephone, a pager, etc.) associated with the user and/or the identification information associated with the user.
- providing the text message e.g., a SMS message, an email message, etc.
- a text message can be based on a profile and/or a configuration associated with the user.
- the profile and/or a configuration associated with the user can include a policy that can direct providing the text message (e.g., a SMS message, an email message, etc.) that indicates an incoming telephone call, voice message, and/or other message (e.g., a text message) to the other device associated with the user and/or the identification information associated with the user.
- CS 19010 can include a processor 45010 coupled to a memory medium 45020.
- memory medium 45020 can store data and/or instructions that can be executed by processor 45010.
- memory medium 45020 can store one or more APPs 45030-45032, an OS 45035, MDDs 20110-20112, emulators 19422- 19424, SIP/VoIP proxy 44210, and/or SMS proxy 44220.
- one or more of APPs 45030-45032, OS 45035, emulators 19422-19424, SIP/VoIP proxy 44210, and SMS proxy 44220 can include instructions of an ISA associated with processor 45010.
- processor 45010 executes one or more of APPs 45030-45032, OS 45035, emulators 19422-19424, SIP/VoIP proxy 44210, and SMS proxy 44220.
- CS 19010 can include a network interface 45040.
- network interface 2040 can interface with a wired network coupling, such as a wired Ethernet, a T-l, a T- 3, an OC-12, a DSL modem, a PSTN, or a cable modem, among others.
- network interface 45040 can interface with a wireless network coupling, such as a satellite telephone system, a cellular telephone system, WiMax, or wireless Ethernet, among others.
- a computer system can receive one or more portions of MDD associated with a MD.
- CS 19010 can receive, via network 1010, the one or more portions of MDD associated with the MD.
- local CS 3001 1 can receive, via LAN 30010, the one or more portions of MDD associated with the MD.
- local CS can receive, via LAN 30010, the one or more portions of MDD associated with the MD.
- the MDD can be associated with one of MDs 191 10-191 12.
- the one or more portions of MDD associated with the MD can be or include an incremental backup and/or synchronization. In another example, the one or more portions of MDD associated with the MD can be or include all portions of the MDD. For instance, all portions of the MDD can be or include a "full" backup of the MD. [0307] At 46020, the computer system can store the one or more portions of the MDD. In one example, the one or more portions of the MDD can be stored in non-volatile storage.
- the one or more portions of the MDD can be stored in a random access memory that can provide an emulator access to the one or more portions of the MDD in a fashion that can be faster than access to the one or more portions of the MDD via non-volatile storage.
- a MD can receive can receive one or more portions of MDD associated with the MD, at 47010.
- the MD can receive, via network 1010, the one or more portions of MDD associated with the MD.
- the MD can receive, via LAN 30010, the one or more portions of MDD associated with the MD.
- the one or more portions of MDD associated with the MD can be or include one or more incremental synchronizations and/or backups. In one or more embodiments, the one or more portions of MDD associated with the MD can be or include one or more changes of the MDD, after the MDD has been utilized by an emulator. In one example, a user can utilize the MDD via the MD, utilize the MDD via an emulator associated with the MD, and receive the one or more changes of the MDD, after the MDD has been utilized by an emulator.
- a user can utilize the MDD via the MD
- an emulator associated with the MD can utilize the MDD via the user and/or another user (e.g., a sales representative, a service representing, a representative of a retail establishment, a representative of a service provider, an artificial intelligence system, a neural network system, etc.), and receive the one or more changes of the MDD, after the MDD has been utilized by the emulator via the user and/or the other user.
- another user e.g., a sales representative, a service representing, a representative of a retail establishment, a representative of a service provider, an artificial intelligence system, a neural network system, etc.
- the other user can assist the user to configure his or her MD via providing the MDD to an emulator and can change one or more portions of the MDD (e.g., one or more configurations of the MD associated with the MDD), and the one or more portions of the MDD can be received by the MD after the other user assists the user to configure his or her MD via the emulator.
- a service representative e.g., a service representative
- the MD can store the one or more portions of the MDD, at 47020.
- the MD can store the one or more portions of MDD that include the one or more incremental synchronizations and/or backups.
- the MD can store the one or more portions of MDD that include the one or more changes of the MDD, after the MDD has been utilized by an emulator.
- the MD can store the one or more portions of MDD that include the one or more changes of the MDD after the MDD has been utilized by an emulator that was utilized by another user (e.g., a sales representative, a service representing, a representative of a retail establishment, a representative of a service provider, etc.) or an assistance system (e.g., an artificial intelligence system, a neural network system, etc.).
- an emulator e.g., a sales representative, a service representing, a representative of a retail establishment, a representative of a service provider, etc.
- an assistance system e.g., an artificial intelligence system, a neural network system, etc.
- the one or more portions of MDD can be associated with a first MD, and a second MD, different from the first MD, can receive the one or more portions of MDD associated with the first MD, at 47010.
- the MDD can be a base or a template for multiple MDs.
- MDD that can be a base or a template can be a base or a template for multiple MDs of a sales group of a company.
- the second MD can be a replacement for the first MD.
- the second MD can augment and/or be an addition to the first MD.
- the first MD can be or include a mobile wireless telephone
- the second MD can be or include a tablet computing device.
- the first MD can be or include a first mobile wireless telephone associated with a first ⁇
- the second MD can be or include a second wireless telephone associated with a second ⁇ , different from the first ⁇ .
- the first MD can be or include a first mobile wireless telephone
- the second MD can be or include an emulation of the first mobile wireless telephone.
- the second MD can store the one or more portions of the MDD, at 47020.
- the second MD can store the one or more portions of MDD associated with the first MD.
- FIG. 48 a method of transforming telecommunications signals is illustrated, according to one or more embodiments.
- a first telecommunications signal can be received.
- the first telecommunications signal can be received from SIP gateway 441 10.
- the first telecommunications signal can be received from SMS gateway 44120.
- the first telecommunications signal can include a SIP telecommunications signal.
- SIP/VoIP proxy 44210 can receive the SIP telecommunications signal.
- the first telecommunication signal can include a VoIP telecommunications signal.
- SIP/VoIP proxy 44210 can receive the VoIP telecommunications signal.
- the first telecommunication signal can include a SMS or MMS telecommunications signal.
- SMS proxy 44220 can receive the SMS or MMS telecommunications signal.
- the first telecommunication signal can be transformed into a second telecommunications signal.
- the first telecommunications signal can be transformed into a CDMA telecommunications signal.
- SIP/VoIP proxy 44210 can transform the first telecommunications signal into the CDMA telecommunications signal.
- SMS proxy 44220 can transform the first telecommunications signal into the CDMA telecommunications signal.
- the first telecommunications signal can be transformed into a GSM telecommunications signal.
- SIP/VoIP proxy 44210 can transform the first telecommunications signal into the GSM telecommunications signal.
- SMS proxy 44220 can transform the first telecommunications signal into the GSM telecommunications signal.
- the second communications signal can be provided to an emulator.
- SIP/VoIP proxy 44210 can provide the second telecommunications to the emulator (e.g., an emulator of emulators 19422-19424).
- SMS proxy 44220 can provide the second telecommunications to the emulator (e.g., an emulator of emulators 19422-19424).
- the method illustrated in FIG. 48 can be repeated to transform additional telecommunications signals and provide the transformed telecommunications signals to one or more emulators.
- the second telecommunications signals can be routed to different emulators based on different network identifications associated with the first telecommunications signals.
- the different network identifications associated with the first telecommunications signals can include different IP addresses (e.g., different IP version 4 addresses, different IP version 6 addresses, etc.), different MAC addresses, different electronic serial numbers (ESNs), different mobile information numbers (MI s), and different mobile directory numbers (MDNs), among others.
- a first telecommunication signal can be received.
- the telecommunication signal can be received from an emulator (e.g., an emulator of emulators 19422-19424.
- the first telecommunications signal can include a CDMA telecommunications signal.
- SIP/VoIP proxy 44210 can receive the CDMA telecommunications signal.
- SIP/VoIP proxy 44210 can receive the CDMA telecommunications signal.
- the first telecommunication signal can include a GSM telecommunications signal.
- SIP/VoIP proxy 44210 can receive the GSM telecommunications signal.
- SMS proxy 44220 can receive the GSM telecommunications signal.
- the first telecommunications signal can be transformed into a second telecommunications signal.
- the first telecommunications signal can be transformed into a SIP telecommunications signal.
- SIP/VoIP proxy 44210 can transform the first telecommunications signal into the SIP telecommunications signal.
- the first telecommunications signal can be transformed into a VoIP telecommunications signal.
- SIP/VoIP proxy 44210 can transform the first telecommunications signal into the VoIP telecommunications signal.
- the first telecommunications signal can be transformed into a SMS telecommunications signal.
- SMS proxy 44220 can transform the first telecommunications signal into the SMS telecommunications signal.
- the first telecommunications signal can be transformed into a MMS telecommunications signal.
- SMS proxy 44220 can transform the first telecommunications signal into the MMS telecommunications signal.
- the second telecommunications signal can be provided to a telecommunications gateway.
- SIP/VoIP proxy 44210 can provide the second telecommunications signal to SIP gateway 441 10.
- SMS proxy 44220 can provide the second telecommunications signal to SMS gateway 44120.
- the method illustrated in FIG. 49 can be repeated to transform additional telecommunications signals and provide the transformed telecommunications signals to one or more telecommunications gateways.
- the second telecommunications signals can be routed to different telecommunications gateways and/or endpoints based on different network identifications associated with the first telecommunications signals.
- the different network identifications associated with the first telecommunications signals can include different IP addresses (e.g., different IP version 4 addresses, different IP version 6 addresses, etc.), different MAC addresses, different ESNs, different MINs, and different MDNs, among others.
- the methods illustrated in FIGs. 48 and 49 can be utilized with local CS 3001 1, as well as CS 19010.
- SIP/VoIP proxy 41210 of local CS 30011 can be utilized in place of SIP/VoIP proxy 44210 of CS 19010
- SMS proxy 41220 of local CS 30011 can be utilized in place of SIP/VoIP proxy 44220 of CS 19010.
- an emulator can receive an invite from a telecommunications network.
- the invite can indicate that a telephone is calling the emulator.
- receiving the invite can include receiving the signal that indicates the invite.
- receiving, via SIP the signal that indicates the invite can include receiving the invite via one or more of a SIP gateway and a SIP proxy.
- emulator 19422 can receive the signal that indicates the invite via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the invite via SIP gateway 44110 and via SIP/VoIP proxy 44210.
- the emulator can provide a signal to the telecommunications network that indicates it is trying to summon a user (e.g., a called party).
- the emulator can provide an indication of an incoming telephone call to the user.
- emulator 19422 can provide the indication of the incoming telephone call to the user via client app 41230.
- emulator 19423 can provide the indication of the incoming telephone call to the user via client interface 63022.
- client interface 63022 can be or include a web browser.
- the emulator can provide, to the telecommunications network, a signal that indicates that it is providing the indication of the incoming telephone call to the user.
- the signal that indicates that the emulator is providing the indication of the incoming telephone call to the user can be provided to the telecommunications network via SIP.
- emulator 19422 can provide the signal that indicates that emulator 19422 is providing the indication of the incoming telephone call to the user can be provided to the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can provide the signal that indicates that emulator 19423 is providing the indication of the incoming telephone call to the user can be provided to the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can receive user input that indicates that the telephone call is to be answered.
- emulator 19422 can receive the user input that indicates that the telephone call is to be answered via client app 41230.
- emulator 19423 can receive the user input that indicates that the telephone call is to be answered via client interface 63022.
- the emulator can provide, to the telecommunications network, a signal that indicates the user has answered the call.
- the signal that indicates the user has answered the call can be provided to the telecommunications network via SIP.
- emulator 19422 can provide the signal that indicates the user has answered the call can be provided to the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can provide the signal that indicates the user has answered the call can be provided to the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can receive an acknowledgement from the telecommunications network.
- a signal that indicates the acknowledgement can be received from the telecommunications network via SIP.
- emulator 19422 can receive the signal that indicates the acknowledgement from the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the acknowledgement from the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can exchange data (e.g., RTP (real-time protocol) data) with the telecommunications network.
- data e.g., RTP (real-time protocol) data
- emulator 19422 can exchange the data with the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can exchange the data with the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the RTP can include a packet format for delivering audio and/or video via an IP network.
- the emulator can receive user input that indicates that the telephone call is to be ended.
- emulator 19422 can receive the user input that indicates that the telephone call is to be ended via client app 41230.
- emulator 19423 can receive the user input that indicates that the telephone call is to be ended via client interface 63022.
- the emulator can provide a BYE request to the telecommunications network.
- a signal that indicates the BYE request can be provided to the telecommunications network via SIP.
- emulator 19422 can provide the signal that indicates the BYE request to the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can provide the signal that indicates the BYE request to the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can receive an OK acknowledgement from the telecommunications network.
- a signal that indicates the OK acknowledgement can be received from the telecommunications network via SIP.
- emulator 19422 can receive the signal that indicates the OK acknowledgement from the telecommunications network via SIP gateway 441 10 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the OK acknowledgement from the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- an emulator can receive, from a first user, user input associated with a network identification associated with an endpoint (e.g., a telephony device configured to be operated by a user, another emulator, a wireless telephone, a wired telephone, an auto- attendant, a conferencing system, etc.) of a telecommunications network.
- the user input from the first user can include a selection from a contacts list and/or database. For instance, each selectable element of the contacts list and/or database can be associated with at least one network identification associated with an endpoint of the telecommunications network.
- the user input from the first user can include a telephone number.
- the network identification associated with the endpoint can include one or more of an IP addresses (e.g., an IP version 4 address, an IP version 6 address, etc.), a MAC address, an ESN, a MIN, and a MDN, among others.
- an emulator can provide, to a telecommunications network, a signal that indicates the network identification associated with the endpoint.
- providing the signal that indicates the network identification associated with the endpoint can include providing the signal that indicates the network identification associated with the endpoint via SIP.
- emulator 19422 can provide the signal that indicates the network identification associated with the endpoint via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can provide the signal that indicates the network identification associated with the endpoint via SIP gateway 441 10 and via SIP/VoIP proxy 41210.
- the emulator can provide an invite to a telecommunications network.
- providing the invite to the telecommunications network can include providing, to the telecommunications network, a signal that indicates the invite via SIP.
- emulator 19422 can provide the signal that indicates the invite via SIP gateway 441 10 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the invite via SIP gateway 44110 and via SIP/VoIP proxy 44210.
- the emulator can receive a signal from the telecommunications network that indicates the endpoint is trying to summon a second user (e.g., a called party).
- receiving the signal from the telecommunications network that indicates the endpoint is trying to summon the second user can include receiving, via SIP, the signal from the telecommunications network that indicates the endpoint is trying to summon the second user.
- emulator 19422 can receive the signal that indicates the endpoint is trying to summon the second user via SIP gateway 441 10 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the endpoint is trying to summon the second user via SIP gateway 44110 and via SIP/VoIP proxy 44210.
- the emulator can receive, from the telecommunications network, a signal that indicates that the endpoint is providing an indication of an incoming telephone call to the second user.
- receiving the signal that indicates that the endpoint is providing the indication of the incoming telephone call to the second user can include receiving the signal that indicates that the endpoint is providing the indication of the incoming telephone call to the second user via SIP.
- emulator 19422 can receive the signal that indicates that the endpoint is providing the indication of the incoming telephone call to the second user via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates that the endpoint is providing the indication of the incoming telephone call to the second user via SIP gateway 441 10 and via SIP/V oIP proxy 44210.
- the emulator can indicate, to the first user, that the endpoint is providing the indication of the incoming telephone call to the second user.
- the emulator can indicate, to the first user, that the endpoint is providing the indication of the incoming telephone call to the second user via a message and/or a graphic.
- emulator 19422 can display, to the first user, a message and/or a graphic that the endpoint is providing the indication of the incoming telephone call to the second user via client app 41230.
- emulator 19423 can display, to the first user, a message and/or a graphic that the endpoint is providing the indication of the incoming telephone call to the second user via client interface 63022.
- the emulator can indicate, to the first user, that the endpoint is providing the indication of the incoming telephone call to the second user via one or more sounds.
- emulator 19422 can indicate, to the first user, via a speaker associated with local CS 30011.
- emulator 19422 can indicate, to the first user, via a speaker associated with CCD 1 112.
- one or more sounds that indicate, to the first user, that the endpoint is providing the indication of the incoming telephone call to the second user can include a ring-back.
- the emulator can receive, from the telecommunications network, a signal that indicates the second user has answered.
- the signal that indicates the second user has answered the telephone call can be received from the telecommunications network via SIP.
- emulator 19422 can receive the signal that indicates the second user has answered the telephone call can be received from the telecommunications network via SIP gateway 441 10 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the second user has answered the telephone call can be received from the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can provide an acknowledgement to the telecommunications network.
- a signal that indicates the acknowledgement can be provided to the telecommunications network via SIP.
- emulator 19422 can provide the signal that indicates the acknowledgement to the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can provide the signal that indicates the acknowledgement to the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can exchange data (e.g., RTP (real-time protocol) data) with the telecommunications network.
- data e.g., RTP (real-time protocol) data
- emulator 19422 can exchange the data with the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can exchange the data with the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the RTP can include a packet format for delivering audio and/or video via an IP network.
- the emulator can receive user input, from the first user, that indicates that the telephone call is to be ended.
- emulator 19422 can receive the user input, from the first user, that indicates that the telephone call is to be ended via client app 41230.
- emulator 19423 can receive the user input, from the first user, that indicates that the telephone call is to be ended via client interface 63022.
- the emulator can provide a BYE request to the telecommunications network. For example, a signal that indicates the BYE request can be provided to the telecommunications network via SIP.
- emulator 19422 can provide the signal that indicates the BYE request to the telecommunications network via SIP gateway 44110 and via SIP/VoIP proxy 41210.
- emulator 19423 can provide the signal that indicates the BYE request to the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the emulator can receive an OK acknowledgement from the telecommunications network. For example, a signal that indicates the OK acknowledgement can be received from the telecommunications network via SIP.
- emulator 19422 can receive the signal that indicates the OK acknowledgement from the telecommunications network via SIP gateway 441 10 and via SIP/VoIP proxy 41210.
- emulator 19423 can receive the signal that indicates the OK acknowledgement from the telecommunications network via SIP gateway 4410 and via SIP/VoIP proxy 44210.
- the term "memory medium” can mean a “memory”, a “memory device”, and/or “tangible computer readable storage medium”.
- a “memory”, a “memory device”, and “tangible computer readable storage medium” can include volatile storage such as SRAM, DRAM, Rambus RAM, EDO RAM, random access memory, etc.
- a “memory”, a “memory device”, and “tangible computer readable storage medium” can include nonvolatile storage such as a CD-ROM, a DVD- ROM, a floppy disk, a magnetic tape, EEPROM, EPROM, flash memory, NVRAM, FRAM, a magnetic media (e.g., a hard drive), optical storage, etc.
- a memory medium can include one or more volatile storages and/or one or more nonvolatile storages.
- a computer system, a computing device, and/or a computer can be broadly characterized to include any device that includes a processor that executes instructions from a memory medium.
- a processor e.g., a central processing unit or CPU
- a memory medium that stores the instructions which can include one or more software programs in accordance with one or more of methods, processes, and/or flowcharts described herein.
- the processor and the memory medium, that stores the instructions which can include one or more software programs in accordance with one or more of methods, processes, and/or flowcharts described herein can form one or more means for one or more functionalities described with references to methods, processes, and/or flowcharts described herein.
- a memory medium can be and/or can include an article of manufacture, a program product, and/or a software product.
- the memory medium can be coded and/or encoded with instructions in accordance with one or more of methods, processes, and/or flowcharts described herein to produce an article of manufacture, a program product, and/or a software product.
- One or more of the method elements described herein and/or one or more portions of an implementation of a method element can be repeated, can be performed in varying orders, can be performed concurrently with one or more of the other method elements and/or one or more portions of an implementation of a method element, or can be omitted, according to one or more embodiments.
- concurrently can mean simultaneously.
- concurrently can mean apparently simultaneously according to some metric.
- two tasks can be context switched such that such that they appear to be simultaneous to a human.
- a first task of the two tasks can include a first method element and/or a first portion of a first method element.
- a second task of the two tasks can include a second method element and/or a first portion of a second method element.
- a second task of the two tasks can include the first method element and/or a second portion of the first method element.
- one or more of the system elements described herein can be omitted and additional system elements can be added as desired, according to one or more embodiments.
- supplementary, additional, and/or duplicated method elements can be instantiated and/or performed as desired, according to one or more embodiments.
Abstract
Description
Claims
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2012323313A AU2012323313A1 (en) | 2011-10-11 | 2012-10-10 | Methods and systems of providing items to customers via a network |
EP12840797.0A EP2766896A4 (en) | 2011-10-11 | 2012-10-10 | Methods and systems of providing items to customers via a network |
CA2851666A CA2851666A1 (en) | 2011-10-11 | 2012-10-10 | Methods and systems of providing items to customers via a network |
HK15101750.1A HK1201193A1 (en) | 2011-10-11 | 2015-02-17 | Methods and systems of providing items to customers via a network |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161627349P | 2011-10-11 | 2011-10-11 | |
US61/627,349 | 2011-10-11 | ||
US13/428,128 US20130096906A1 (en) | 2011-10-11 | 2012-03-23 | Methods and Systems for Providing Items to Customers Via a Network |
US13/428,128 | 2012-03-23 | ||
US13/601,537 US20130297281A1 (en) | 2011-10-11 | 2012-08-31 | Methods and systems of providing items to customers via a network |
US13/601,537 | 2012-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013055742A1 true WO2013055742A1 (en) | 2013-04-18 |
Family
ID=50548847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2012/059470 WO2013055742A1 (en) | 2011-10-11 | 2012-10-10 | Methods and systems of providing items to customers via a network |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2766896A4 (en) |
AU (1) | AU2012323313A1 (en) |
CA (1) | CA2851666A1 (en) |
HK (1) | HK1201193A1 (en) |
WO (1) | WO2013055742A1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090293003A1 (en) * | 2004-05-04 | 2009-11-26 | Paul Nykamp | Methods for Interactively Displaying Product Information and for Collaborative Product Design |
US20090300578A1 (en) * | 2001-01-09 | 2009-12-03 | Nextair Corporation | System and Method For Developing An Application For Extending Access to Local Software Of A Wireless Device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512402B2 (en) * | 2004-05-14 | 2009-03-31 | International Business Machines Corporation | Centralized display for mobile devices |
US8731519B2 (en) * | 2008-09-08 | 2014-05-20 | At&T Mobility Ii Llc | Mobile handset extension to a device |
-
2012
- 2012-10-10 WO PCT/US2012/059470 patent/WO2013055742A1/en active Application Filing
- 2012-10-10 CA CA2851666A patent/CA2851666A1/en not_active Abandoned
- 2012-10-10 EP EP12840797.0A patent/EP2766896A4/en not_active Withdrawn
- 2012-10-10 AU AU2012323313A patent/AU2012323313A1/en not_active Abandoned
-
2015
- 2015-02-17 HK HK15101750.1A patent/HK1201193A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090300578A1 (en) * | 2001-01-09 | 2009-12-03 | Nextair Corporation | System and Method For Developing An Application For Extending Access to Local Software Of A Wireless Device |
US20090293003A1 (en) * | 2004-05-04 | 2009-11-26 | Paul Nykamp | Methods for Interactively Displaying Product Information and for Collaborative Product Design |
Non-Patent Citations (2)
Title |
---|
See also references of EP2766896A4 * |
SHIMADA ET AL.: "Bubble mesh: automated triangular meshing of non-manifold geometry by sphere packing", PROCEEDINGS OF THE THIRD ACM SYMPOSIUM ON SOLID MODELING AND APPLICATIONS., 1995, pages 409 - 419, XP000530140, Retrieved from the Internet <URL:https://www.andrew.cmu.edu/user/shimadalpapers/95-acm-sm-shimada.pdf> [retrieved on 20130125] * |
Also Published As
Publication number | Publication date |
---|---|
AU2012323313A1 (en) | 2014-05-01 |
EP2766896A4 (en) | 2015-07-01 |
HK1201193A1 (en) | 2015-08-28 |
CA2851666A1 (en) | 2013-04-18 |
EP2766896A1 (en) | 2014-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150186571A1 (en) | Methods and systems of providing items to customers via a network | |
US20130096906A1 (en) | Methods and Systems for Providing Items to Customers Via a Network | |
US11498003B2 (en) | Image rendering method, device, and storage medium | |
WO2017053625A1 (en) | Mapping of user interaction within a virtual-reality environment | |
US20150149749A1 (en) | Methods and systems of operating computing device | |
JP7299414B2 (en) | Image processing method, device, electronic device and computer program | |
JP2024505995A (en) | Special effects exhibition methods, devices, equipment and media | |
WO2022088928A1 (en) | Elastic object rendering method and apparatus, device, and storage medium | |
CN106687923A (en) | Presentation of computing environment on multiple devices | |
WO2023179346A1 (en) | Special effect image processing method and apparatus, electronic device, and storage medium | |
JP2024502407A (en) | Display methods, devices, devices and storage media based on augmented reality | |
JP2023549747A (en) | Representation format for tactile objects | |
CN108776544A (en) | Exchange method and device, storage medium, electronic equipment in augmented reality | |
CN112204621A (en) | Virtual skeleton based on computing device capability profile | |
CN111652675A (en) | Display method and device and electronic equipment | |
WO2021238809A1 (en) | Facial model reconstruction method and apparatus, and medium and device | |
WO2023121569A2 (en) | Particle special effect rendering method and apparatus, and device and storage medium | |
EP2766896A1 (en) | Methods and systems of providing items to customers via a network | |
US11393171B2 (en) | Mobile device based VR content control | |
CN112843669B (en) | Method and system for simulating physical gyro movement | |
US11604515B2 (en) | Network virtualization platforms enhanced with non-visual sensory interactivity | |
WO2022095733A1 (en) | Information processing method and apparatus | |
WO2023035958A1 (en) | Interface display method and apparatus, electronic device and storage medium | |
Lesser et al. | Audio Communication Group Masterthesis | |
CN117270675A (en) | User virtual image loading method based on mixed reality remote collaborative environment |
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: 12840797 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2851666 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
ENP | Entry into the national phase |
Ref document number: 2012323313 Country of ref document: AU Date of ref document: 20121010 Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2012840797 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2012840797 Country of ref document: EP |