US8710953B2 - Automatic portable electronic device configuration - Google Patents

Automatic portable electronic device configuration Download PDF

Info

Publication number
US8710953B2
US8710953B2 US12/483,302 US48330209A US8710953B2 US 8710953 B2 US8710953 B2 US 8710953B2 US 48330209 A US48330209 A US 48330209A US 8710953 B2 US8710953 B2 US 8710953B2
Authority
US
United States
Prior art keywords
computer
electronic device
portable electronic
readable
configuration parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12/483,302
Other versions
US20100315200A1 (en
Inventor
Padmanand Warrier
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US12/483,302 priority Critical patent/US8710953B2/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WARRIER, PADMANAND
Publication of US20100315200A1 publication Critical patent/US20100315200A1/en
Priority to US14/222,440 priority patent/US10037015B2/en
Application granted granted Critical
Publication of US8710953B2 publication Critical patent/US8710953B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Priority to US16/004,619 priority patent/US10191457B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/305Authentication, i.e. establishing the identity or authorisation of security principals by remotely controlling device operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/36User authentication by graphic or iconic representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices

Definitions

  • Portable electronic devices have become virtually ubiquitous. Examples of portable electronic devices include but are not limited to personal computers, personal digital assistants, mobile phones, navigation devices, media players and/or media, capture devices, and the like. Many portable electronic devices perform multiple functions, and are equipped with connectivity features that enable the devices to communicate with other electronic devices and/or networks.
  • Configuring a mobile device for operation may involve understanding and manually inputting values for various parameters and/or settings on the device, such as user-related settings, device-related settings, or network/communication-related settings, often using limited function input devices such as small screens or keypads.
  • the numerous opportunities for errors, and the resulting frustration, in connection with configuring portable electronic devices have the potential to disrupt user experiences and lead to dissatisfaction with the devices.
  • One technique involves implementing a network- and/or client-side device configuration system, which features the use of computer-readable visual symbols such as optical graphic codes (for example, tags, barcodes, or matrix codes) to authorize access to predetermined configuration parameters that a particular portable electronic device uses to automatically configure itself.
  • optical graphic codes for example, tags, barcodes, or matrix codes
  • a user who may be a user of a particular portable electronic device to be configured, or a third party, inputs information identifying the particular portable electronic device to be configured via a user interface.
  • the user interface may be a client-side or network-side interface, such as a Web browser, and may be accessed or implemented by any type of electronic device.
  • a network-based service Upon receipt and authentication of the user input information, a network-based service generates a computer-readable visual symbol, and returns the visual symbol (in either electronic or physical form) to an authorized user of the portable electronic device.
  • the visual symbol is returned to a different electronic device operated by the user, in another possible implementation, the visual symbol is returned to the portable electronic device itself.
  • the portable electronic device reproduces the visual symbol and transmits a response message to the (same or different) network-side service.
  • the response message may be or include, but is not necessarily, a reproduction of the visual symbol.
  • the message transmission may, but does not necessarily, occur automatically—for example, a client-side application on the portable electronic device may automatically connect to the network-side service upon reproducing the visual symbol.
  • the portable electronic device includes an image capture device, such as a camera or a scanner or the like, which is used to capture an image of the visual symbol.
  • the network-side service Upon receipt of the response message and authentication of the portable electronic device, the network-side service authorizes the portable electronic device to receive predetermined configuration parameters.
  • the authorization is in the form of an acknowledgement message transmitted to the portable electronic device.
  • the configuration parameters themselves may be stored in a network-side location or within the portable electronic device, or in another location such as in the visual symbol itself. When the configuration parameters, are stored in a network-side location, they may be pushed to the portable electronic device by the network-side service, or pulled from the network-side service by the portable electronic device (via the acknowledgement message, for example).
  • the network-side service may return commands and/or information that can be interpreted by a client-side application to access and/or utilize the configuration parameters.
  • the portable electronic device uses the predetermined configuration parameters to automatically configure itself.
  • FIG. 1 is a simplified block diagram of an exemplary communication architecture 100 within which aspects of an automatic device configuration system may be implemented or used.
  • FIG. 2 is a flowchart illustrating certain aspects of a method for automatically configuring a portable electronic device using aspects of the communication architecture and/or the automatic device configuration system shown in FIG. 1 .
  • FIG. 3 is a simplified block diagram of an exemplary operating environment in which aspects of the automatic device configuration system shown in FIG. 1 and/or the method(s) shown in FIG. 2 may be implemented or used.
  • Computer-readable visual symbols such as optical graphic codes (for example, tags, barcodes, or matrix codes) are used to authorize access to predetermined configuration parameters that particular portable electronic devices use to automatically self-configure.
  • FIG. 1 is a simplified block diagram of an exemplary communication architecture 100 within which aspects of a device configuration system (“DCS”) 101 may be implemented or used.
  • DCS 101 arranges for the receipt of certain user-input, information 150 that triggers the generation, transmission, and/or use of computer-readable visual symbols 105 in connection with authorizing portable electronic devices (such as portable electronic device 102 , discussed further below) to automatically self-configure using certain, predetermined configuration parameters 307 .
  • design choices dictate how specific functions of DCS 101 are implemented. Such functions may be implemented using hardware, software, firmware, or combinations thereof.
  • User-input information 150 represents any information or data that is provided by one or more users, such as one or more users 111 , for use in connection with one or more aspects of DCS 101 .
  • user-input information 150 is information identifying a particular portable electronic device, such as portable electronic device 102 , to be configured via aspects of DCS 101 .
  • User-input information 150 may also include, or be used to identify, one or more configuration parameters 107 (discussed further below).
  • User-input information may be supplied by an authorized user of the portable electronic device, or on behalf of an authorized user by a third patty, such as an IT administrator, customer service representative, or another authorized person.
  • User-input information 150 may be input via any network-side or client-side user interface, such as a Web browser (user interfaces 340 are shown and discussed in connection with FIG. 3 ).
  • Configuration parameters 107 represent any information or data that is useful to initialize or update the functionality of a particular portable electronic device for operation by a particular user.
  • Examples of configuration parameters 107 include but are not limited to: user-related settings (such as personal information, passwords, and the like); device-related settings (such as device identifiers, time/date settings, geographic region settings, and the like); network/communication-related settings (such as router/server identifiers for various network-based service providers, billing information, communication protocols, and the like); and/or computer-executable instructions for locating, validating, establishing, or implementing such settings.
  • Configuration parameters 107 may be predetermined or created/identified in response to user-input information 150 (discussed further below), and may be stored in temporary or persistent memory locations of one or more operating environments (such as server(s)/service(s) 104 , electronic device 103 , or portable electronic device 102 ), and/or encoded by computer-readable visual symbol(s) 105 (also discussed further below).
  • operating environments such as server(s)/service(s) 104 , electronic device 103 , or portable electronic device 102
  • computer-readable visual symbol(s) 105 also discussed further below.
  • DCS 101 are implemented within one or more network-based operating environments such as servers/services 104 (one shown) within network(s) 110 and/or within client-based operating environments. Two exemplary client-based operating environments are shown, an electronic device 103 and a portable electronic device 102 , which are responsive to the same or different users 111 .
  • Electronic device 103 represents any known or later developed portable or non-portable consumer device (or combination of devices/functions), including but not limited to: a personal computer; a telecommunication device; a personal digital assistant; a media player; a home entertainment device (such as a set-top box, game console, television, etc.); a device temporarily or permanently mounted in transportation equipment such as a wheeled vehicle, plane, or train; a camera; a video recorder; and a home server.
  • Portable electronic device 102 represents any type of electronic device 103 that is generally movable from one location to another, with or without network connectivity.
  • Portable electronic device 102 includes or is responsive to an image capture device 115 .
  • Image capture device 115 represents any hardware, software, or firmware responsible for reproducing computer-readable visual symbol 105 to produce a reproduced computer-readable visual symbol 125 . Examples of image capture devices include but are not limited to: cameras; video recorders; scanners; computer-executable instructions operable to copy and/or decode images; and the like.
  • Network(s) 110 represent any existing or future, public or private, wired or wireless, wide-area or local-area, packet-switched or circuit-switched, one-way or two-way data transmission infrastructures, technologies, or signals.
  • Exemplary networks include: the Internet; local area networks; personal networks; and managed WANs (for example, cellular networks, satellite networks, fiber-optic networks, co-axial cable networks, hybrid networks, copper wire networks, and over-the-air broadcasting networks).
  • Servers/services 104 represent any network-side implementations of systems or techniques described herein.
  • network-based servers may host a variety of services associated with DCS 101 , including but not limited to: data storage services; visual symbol or configuration parameter generation or protection services; and/or authentication/authorization services.
  • Computer-readable visual symbols 105 are any known or later developed n-dimensional symbols of any pre-defined sizes or geometries, displayable on surfaces, which encode information within one or more modules. Any type of information may be encoded, including but not limited to: references to network- or client-side resources such as URLs, pointers, vectors, variables, and the like (in one possible implementation, resources may be, or may refer to, instructions that permit a programmatic interaction between an electronic device and one or more network-based services such as DCS 101 ); computer-executable instructions; configuration parameters 107 ; cryptographic information; etc. Any surface is possible—particular surfaces include but are not limited to electronic display screens (such as LCDs, plasma panels, or CRT screens); printed surfaces, such as paper; or any other surfaces on which information can be displayed, such as glass, fabric, or metal.
  • electronic display screens such as LCDs, plasma panels, or CRT screens
  • printed surfaces such as paper
  • any other surfaces on which information can be displayed such as glass, fabric, or metal.
  • Exemplary computer-readable symbols include but are not limited to: barcodes; matrix codes such as QR codes; and tags.
  • a QR code for example, is a two-dimensional (often square) symbol of a predetermined size (one inch by one inch is an exemplary size, although virtually any desired size is possible), having a number of modules (for example, square modules) that are used to encode information.
  • a particular module has a binary reflectance value corresponding to either “black” or “white,” arranged on a surface in accordance with a coordinate system, defined by a vertical axis and a horizontal axis.
  • certain groups of modules are arranged within a particular QR code in predefined manners to facilitate decoding and information retrieval (for example, finder/alignment patterns and/or timing lines may be located in predetermined locations and used to identify the coordinate system of a QR code).
  • FIG. 2 is a flowchart illustrating certain aspects of a method for automatically configuring a portable electronic device, such as portable electronic device 102 , using aspects of DCS 101 .
  • the method(s) illustrated in FIG. 2 may be implemented using computer-executable instructions executed by one or more general, multi-purpose, or single-purpose processors (exemplary computer-executable instructions 306 and processor 302 are discussed further below, in connection with FIG. 3 ).
  • FIG. 2 is exemplary in nature, and that the subject matter defined in the claims is not necessarily limited to the specific features or acts described below. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
  • the method begins at block 200 , and continues at block 202 , where user-input information, such as user-input information 150 , which identifies a portable electronic device to be configured, such as portable electronic device 102 , is received.
  • a user such as user 111 , inputs user-input, information 150 to network-side or client-side DCS 101 via any desired network-side or client-side user interface.
  • the user interface may be associated with or accessed via electronic device 103 , for example, or associated with or accessed via server(s)/service(s) 104 .
  • the user interface may also be associated with or accessed via portable electronic device 102 .
  • appropriate electronic security/privacy protections have been implemented to protect user 111 and/or user-input information 150 , and that user-input information 150 is authentic and valid.
  • a computer-readable visual symbol 105 (such as a barcode, matrix code, tag, or other known or later developed visual symbol) is generated by network-side DCS 101 and transmitted to an authorized user, such as user 111 , of portable electronic device 102 .
  • Visual symbol 105 may be transmitted using any known protocol or technique, to any desired electronic device 103 (including portable electronic device 102 ) and may be in any form, including physical form or electronic form.
  • visual symbol 105 is transmitted, to electronic device 103 operated by the authorized user of portable electronic device 102 .
  • visual symbol 105 may be in physical or electronic form, and may be presented on any surface including but not limited to an electronic display screen (such as an LCD, a plasma panel, or a CRT screen); paper; glass, fabric, metal, etc.
  • the portable electronic device reproduces the computer-readable visual symbol to create reproduced computer-readable visual symbol 125 , and based thereon transmits response message 181 to network-side DCS 101 or a different designated network-side service or server.
  • image capture device 115 which in one implementation is integral to portable electronic device 102 , captures an image of visual symbol 105 from the surface on which it is presented.
  • portable electronic device 102 executes computer-executable instructions to electronically reproduce visual, symbol 105 .
  • the transmission of the response message (which may, but does not necessarily, be or may include reproduced computer-readable visual symbol 125 ) may, but does necessarily, occur automatically—for example, client-side DCS 101 within portable electronic device 102 may automatically connect to network-side DCS 101 upon reproduction of visual symbol 105 .
  • Network-side DCS 101 may authenticate or verify computer-readable visual symbol 125 , user 111 , and/or portable electronic device 102 .
  • network-side DCS 101 authorizes the portable electronic device to access configuration parameters 107 , as indicated at block 208 .
  • Portable electronic device 102 automatically self-configures using configuration parameters 107 .
  • the authorization is in the form of an acknowledgement message (not shown) transmitted to the portable electronic device.
  • Configuration parameters 107 themselves may be stored in a network-side location, within portable electronic device 102 , or encoded within computer-readable visual symbol 105 / 125 .
  • the configuration parameters When the configuration parameters are stored in a network-side location, they may be pushed to portable electronic device 102 by network-side DCS 101 , or pulled from network-side DCS 101 by portable electronic device 102 (via the acknowledgement message, for example.)
  • network-side DCS 101 may return (via the acknowledgement message, for example) commands and/or information (for example, cryptographic information) that can be interpreted by client-side DCS 101 on portable electronic device 102 to access and or utilize the configuration parameters.
  • FIG. 3 is a simplified block diagram of an exemplary operating environment 300 in which aspects of DCS 101 and/or the method(s) shown in FIG. 2 may be implemented or used.
  • Operating environment 300 is generally indicative of a wide variety of general-purpose or special-purpose computing environments, and is not intended to suggest any limitation as to the scope of use or functionality of the system(s) and methods described herein.
  • operating environment 300 may be a consumer electronic device such as a mobile phone, a personal digital assistant, a personal computer, a personal media player, a computer/television device, a set-top box, a hard-drive storage device, a video camera, a DVD player, a cable modem, a local media gateway, a device temporarily or permanently mounted in transportation equipment such as a wheeled vehicle, a plane, or a train, or another type of known or later developed consumer electronic device.
  • Operating environment 300 may also be a type of networked server, or any aspect thereof. Such a server may be part of a distributed computing network, and may be used to implement, host, or proxy any type of network-based service in whole or in part.
  • operating environment 300 includes processors) 302 , computer-readable media 304 , computer-executable instructions 306 , user interface(s) 340 , network interface(s) 310 , and specialized hardware/firmware 350 .
  • One or more internal buses 321 may be used to carry data, addresses, control signals, and other information within, to, or from operating environment 300 or elements thereof.
  • Processor 302 which may be a real or a virtual processor, controls functions of the operating environment by executing computer-executable instructions 306 .
  • the processor may execute instructions at the assembly, compiled, or machine-level to perform a particular process.
  • Computer-readable media 304 may represent any number and combination of local or remote devices, in any form, now known or later developed, capable of recording, storing, or transmitting computer-readable data.
  • computer-readable media 304 may be, or may include, a semiconductor memory (such as a read only memory (“ROM”), any type of programmable ROM (“PROM”), a random access memory (“RAM”), or a Hash memory, for example); a magnetic storage device (such as a floppy disk drive, a hard disk drive, a magnetic drum, a magnetic tape, or a magneto-optical disk); an optical storage device (such as any type of compact, disk or digital versatile disk); a bubble memory; a cache memory; a core memory; a holographic memory; a memory stick; or any combination thereof.
  • ROM read only memory
  • PROM programmable ROM
  • RAM random access memory
  • Hash memory for example
  • magnetic storage device such as a floppy disk drive, a hard disk drive, a magnetic drum,
  • the computer-readable media may also include transmission media and data associated therewith.
  • transmission media/data include, but are not limited to, data embodied in any form of wireline or wireless transmission, such as packetized or non-packetized data carried by a modulated carrier signal.
  • Computer-executable instructions 306 represent any signal processing methods or stored instructions. Generally, computer-executable instructions 306 are implemented as software components according to well-known practices for component-based software development, and encoded in computer-readable media. Computer programs may be combined or distributed in various ways. Computer-executable instructions 306 , however, are not limited to implementation by any specific embodiments of computer programs, and in other instances may be implemented by, or executed in, hardware, software, firmware, or any combination thereof.
  • User interface(s) 340 represents the combination of physical or logical presentation tools and controls that define the way a user interacts with a particular application or device, such as DCS 101 , networked server(s)/service(s) 104 within network(s) 110 , electronic device 103 , or portable electronic device 102 .
  • Presentation tools are used to provide output to a user.
  • An example of a physical presentation tool is a display such as a monitor device.
  • Another example of a physical presentation, tool is printed material on a surface such as paper, glass, metal, etc.
  • An example of a logical presentation tool is a data organization technique (for example, a window, a menu, or a layout thereof). Controls facilitate the receipt of input from a user.
  • An example of a physical control is art input device such as a remote control, a display, a mouse, a pen, a stylus, a trackball, a keyboard, a microphone, or a scanning device.
  • An example of a logical control is a data organization technique (for example, a window, a menu, or a layout thereof) via which a user may issue commands. It will be appreciated that the same physical device or logical construct may function to provide outputs to, and receive inputs from, a user.
  • Network interface(s) 310 represent one or more physical or logical elements, such as connectivity devices or computer-executable instructions, which enable communication between operating environment 300 and external devices or services, via one or more protocols or techniques. Such communication may be, but is not necessarily, client-server type communication or peer-to-peer communication. Information received at a given network interface may traverse one or more layers of a communication protocol stack.
  • Specialized hardware 350 represents any hardware or firmware that implements functions of operating environment 300 .
  • Examples of specialized hardware include encoder/decoders decrypters, application-specific integrated circuits, clocks, image capture device 115 , and the like.
  • operating environment 300 may include fewer, more, or different components or functions than those described.
  • functional components of operating environment 300 may be implemented by one or more devices, which are co-located or remotely located, in a variety of ways.
  • connections depicted herein may be logical or physical in practice to achieve a coupling or communicative interface between elements. Connections may be implemented, among other ways, as inter-process communications among software processes, or inter-machine communications among networked computers.

Abstract

A network- and/or client-side device configuration system facilitates automatic configuration of portable electronic devices. Predetermined configuration parameters for a particular portable electronic device are generated and stored. A computer-readable visual symbol such as an optical graphic code (for example, a tag, barcode, or matrix code) is generated by a network-side service and transmitted to an authorized user of the particular portable electronic device. The portable electronic device reproduces the visual symbol and transmits a message (which may or may not include the reproduced visual symbol) to the (same or different) network-side service. The network-side service authenticates the portable electronic device, and authorizes the portable electronic device to access and use the predetermined configuration parameters to automatically configure itself.

Description

BACKGROUND
Portable electronic devices have become virtually ubiquitous. Examples of portable electronic devices include but are not limited to personal computers, personal digital assistants, mobile phones, navigation devices, media players and/or media, capture devices, and the like. Many portable electronic devices perform multiple functions, and are equipped with connectivity features that enable the devices to communicate with other electronic devices and/or networks.
Configuring a mobile device for operation may involve understanding and manually inputting values for various parameters and/or settings on the device, such as user-related settings, device-related settings, or network/communication-related settings, often using limited function input devices such as small screens or keypads. The numerous opportunities for errors, and the resulting frustration, in connection with configuring portable electronic devices have the potential to disrupt user experiences and lead to dissatisfaction with the devices.
SUMMARY
Techniques for automatically configuring portable electronic devices are described herein. One technique involves implementing a network- and/or client-side device configuration system, which features the use of computer-readable visual symbols such as optical graphic codes (for example, tags, barcodes, or matrix codes) to authorize access to predetermined configuration parameters that a particular portable electronic device uses to automatically configure itself.
In one exemplary scenario, a user, who may be a user of a particular portable electronic device to be configured, or a third party, inputs information identifying the particular portable electronic device to be configured via a user interface. The user interface may be a client-side or network-side interface, such as a Web browser, and may be accessed or implemented by any type of electronic device.
Upon receipt and authentication of the user input information, a network-based service generates a computer-readable visual symbol, and returns the visual symbol (in either electronic or physical form) to an authorized user of the portable electronic device. In one possible implementation, the visual symbol is returned to a different electronic device operated by the user, in another possible implementation, the visual symbol is returned to the portable electronic device itself.
The portable electronic device reproduces the visual symbol and transmits a response message to the (same or different) network-side service. The response message may be or include, but is not necessarily, a reproduction of the visual symbol. The message transmission may, but does not necessarily, occur automatically—for example, a client-side application on the portable electronic device may automatically connect to the network-side service upon reproducing the visual symbol. In one exemplary implementation, the portable electronic device includes an image capture device, such as a camera or a scanner or the like, which is used to capture an image of the visual symbol.
Upon receipt of the response message and authentication of the portable electronic device, the network-side service authorizes the portable electronic device to receive predetermined configuration parameters. In one exemplary scenario, the authorization is in the form of an acknowledgement message transmitted to the portable electronic device. The configuration parameters themselves may be stored in a network-side location or within the portable electronic device, or in another location such as in the visual symbol itself. When the configuration parameters, are stored in a network-side location, they may be pushed to the portable electronic device by the network-side service, or pulled from the network-side service by the portable electronic device (via the acknowledgement message, for example). When the configuration parameters are stored within the portable electronic device or the visual symbol the network-side service may return commands and/or information that can be interpreted by a client-side application to access and/or utilize the configuration parameters. The portable electronic device uses the predetermined configuration parameters to automatically configure itself.
This Summary is provided to introduce a selection of concepts in a simplified form. The concepts are further described in the Detailed Description section. Elements or steps other than those described in this Summary are possible, and no element or step is necessarily required. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended for use as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a simplified block diagram of an exemplary communication architecture 100 within which aspects of an automatic device configuration system may be implemented or used.
FIG. 2 is a flowchart illustrating certain aspects of a method for automatically configuring a portable electronic device using aspects of the communication architecture and/or the automatic device configuration system shown in FIG. 1.
FIG. 3 is a simplified block diagram of an exemplary operating environment in which aspects of the automatic device configuration system shown in FIG. 1 and/or the method(s) shown in FIG. 2 may be implemented or used.
DETAILED DESCRIPTION
A network- and/or client-side automatic portable device configuration system and techniques are discussed herein. Computer-readable visual symbols such as optical graphic codes (for example, tags, barcodes, or matrix codes) are used to authorize access to predetermined configuration parameters that particular portable electronic devices use to automatically self-configure.
Turning to the drawings, where like numerals designate like components. FIG. 1 is a simplified block diagram of an exemplary communication architecture 100 within which aspects of a device configuration system (“DCS”) 101 may be implemented or used. DCS 101 arranges for the receipt of certain user-input, information 150 that triggers the generation, transmission, and/or use of computer-readable visual symbols 105 in connection with authorizing portable electronic devices (such as portable electronic device 102, discussed further below) to automatically self-configure using certain, predetermined configuration parameters 307. In general, design choices dictate how specific functions of DCS 101 are implemented. Such functions may be implemented using hardware, software, firmware, or combinations thereof.
User-input information 150 represents any information or data that is provided by one or more users, such as one or more users 111, for use in connection with one or more aspects of DCS 101. In one exemplary scenario, user-input information 150 is information identifying a particular portable electronic device, such as portable electronic device 102, to be configured via aspects of DCS 101. User-input information 150 may also include, or be used to identify, one or more configuration parameters 107 (discussed further below). User-input information may be supplied by an authorized user of the portable electronic device, or on behalf of an authorized user by a third patty, such as an IT administrator, customer service representative, or another authorized person. User-input information 150 may be input via any network-side or client-side user interface, such as a Web browser (user interfaces 340 are shown and discussed in connection with FIG. 3).
Configuration parameters 107 represent any information or data that is useful to initialize or update the functionality of a particular portable electronic device for operation by a particular user. Examples of configuration parameters 107 include but are not limited to: user-related settings (such as personal information, passwords, and the like); device-related settings (such as device identifiers, time/date settings, geographic region settings, and the like); network/communication-related settings (such as router/server identifiers for various network-based service providers, billing information, communication protocols, and the like); and/or computer-executable instructions for locating, validating, establishing, or implementing such settings. Configuration parameters 107 may be predetermined or created/identified in response to user-input information 150 (discussed further below), and may be stored in temporary or persistent memory locations of one or more operating environments (such as server(s)/service(s) 104, electronic device 103, or portable electronic device 102), and/or encoded by computer-readable visual symbol(s) 105 (also discussed further below).
Aspects of DCS 101 are implemented within one or more network-based operating environments such as servers/services 104 (one shown) within network(s) 110 and/or within client-based operating environments. Two exemplary client-based operating environments are shown, an electronic device 103 and a portable electronic device 102, which are responsive to the same or different users 111.
Electronic device 103 represents any known or later developed portable or non-portable consumer device (or combination of devices/functions), including but not limited to: a personal computer; a telecommunication device; a personal digital assistant; a media player; a home entertainment device (such as a set-top box, game console, television, etc.); a device temporarily or permanently mounted in transportation equipment such as a wheeled vehicle, plane, or train; a camera; a video recorder; and a home server.
Portable electronic device 102 represents any type of electronic device 103 that is generally movable from one location to another, with or without network connectivity. Portable electronic device 102 includes or is responsive to an image capture device 115. Image capture device 115 represents any hardware, software, or firmware responsible for reproducing computer-readable visual symbol 105 to produce a reproduced computer-readable visual symbol 125. Examples of image capture devices include but are not limited to: cameras; video recorders; scanners; computer-executable instructions operable to copy and/or decode images; and the like.
Network(s) 110 represent any existing or future, public or private, wired or wireless, wide-area or local-area, packet-switched or circuit-switched, one-way or two-way data transmission infrastructures, technologies, or signals. Exemplary networks include: the Internet; local area networks; personal networks; and managed WANs (for example, cellular networks, satellite networks, fiber-optic networks, co-axial cable networks, hybrid networks, copper wire networks, and over-the-air broadcasting networks).
Servers/services 104 represent any network-side implementations of systems or techniques described herein. For example, certain, network-based servers may host a variety of services associated with DCS 101, including but not limited to: data storage services; visual symbol or configuration parameter generation or protection services; and/or authentication/authorization services.
Computer-readable visual symbols 105 are any known or later developed n-dimensional symbols of any pre-defined sizes or geometries, displayable on surfaces, which encode information within one or more modules. Any type of information may be encoded, including but not limited to: references to network- or client-side resources such as URLs, pointers, vectors, variables, and the like (in one possible implementation, resources may be, or may refer to, instructions that permit a programmatic interaction between an electronic device and one or more network-based services such as DCS 101); computer-executable instructions; configuration parameters 107; cryptographic information; etc. Any surface is possible—particular surfaces include but are not limited to electronic display screens (such as LCDs, plasma panels, or CRT screens); printed surfaces, such as paper; or any other surfaces on which information can be displayed, such as glass, fabric, or metal.
Exemplary computer-readable symbols include but are not limited to: barcodes; matrix codes such as QR codes; and tags. A QR code, for example, is a two-dimensional (often square) symbol of a predetermined size (one inch by one inch is an exemplary size, although virtually any desired size is possible), having a number of modules (for example, square modules) that are used to encode information. A particular module has a binary reflectance value corresponding to either “black” or “white,” arranged on a surface in accordance with a coordinate system, defined by a vertical axis and a horizontal axis. Generally, certain groups of modules are arranged within a particular QR code in predefined manners to facilitate decoding and information retrieval (for example, finder/alignment patterns and/or timing lines may be located in predetermined locations and used to identify the coordinate system of a QR code).
With continuing reference to FIG. 1, FIG. 2 is a flowchart illustrating certain aspects of a method for automatically configuring a portable electronic device, such as portable electronic device 102, using aspects of DCS 101. The method(s) illustrated in FIG. 2 may be implemented using computer-executable instructions executed by one or more general, multi-purpose, or single-purpose processors (exemplary computer-executable instructions 306 and processor 302 are discussed further below, in connection with FIG. 3). It will be appreciated that the method of FIG. 2 is exemplary in nature, and that the subject matter defined in the claims is not necessarily limited to the specific features or acts described below. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. Unless specifically stated, the methods described herein are not constrained to a particular order or sequence. In addition, some of the described method or elements thereof can occur or be performed concurrently. It will be understood that all of the steps shown need not occur in performance of the functions described herein—for exemplary purposes, the flowchart of FIG. 2 describes both network-side, and/or client-side activities.
The method begins at block 200, and continues at block 202, where user-input information, such as user-input information 150, which identifies a portable electronic device to be configured, such as portable electronic device 102, is received. A user, such as user 111, inputs user-input, information 150 to network-side or client-side DCS 101 via any desired network-side or client-side user interface. The user interface may be associated with or accessed via electronic device 103, for example, or associated with or accessed via server(s)/service(s) 104. The user interface may also be associated with or accessed via portable electronic device 102. For discussion purposes, it is assumed that appropriate electronic security/privacy protections have been implemented to protect user 111 and/or user-input information 150, and that user-input information 150 is authentic and valid.
At block 204, based on user-input information 150 identifying portable electronic device 102, a computer-readable visual symbol 105 (such as a barcode, matrix code, tag, or other known or later developed visual symbol) is generated by network-side DCS 101 and transmitted to an authorized user, such as user 111, of portable electronic device 102. Visual symbol 105 may be transmitted using any known protocol or technique, to any desired electronic device 103 (including portable electronic device 102) and may be in any form, including physical form or electronic form. In one possible implementation, visual symbol 105 is transmitted, to electronic device 103 operated by the authorized user of portable electronic device 102. As discussed above, visual symbol 105 may be in physical or electronic form, and may be presented on any surface including but not limited to an electronic display screen (such as an LCD, a plasma panel, or a CRT screen); paper; glass, fabric, metal, etc.
Next, at block 206, the portable electronic device reproduces the computer-readable visual symbol to create reproduced computer-readable visual symbol 125, and based thereon transmits response message 181 to network-side DCS 101 or a different designated network-side service or server. In one exemplary scenario, image capture device 115, which in one implementation is integral to portable electronic device 102, captures an image of visual symbol 105 from the surface on which it is presented. In another exemplary scenario, portable electronic device 102 executes computer-executable instructions to electronically reproduce visual, symbol 105. The transmission of the response message (which may, but does not necessarily, be or may include reproduced computer-readable visual symbol 125) may, but does necessarily, occur automatically—for example, client-side DCS 101 within portable electronic device 102 may automatically connect to network-side DCS 101 upon reproduction of visual symbol 105. Network-side DCS 101 may authenticate or verify computer-readable visual symbol 125, user 111, and/or portable electronic device 102.
Based on the response message, network-side DCS 101 authorizes the portable electronic device to access configuration parameters 107, as indicated at block 208. Portable electronic device 102 automatically self-configures using configuration parameters 107. In one exemplary scenario, the authorization is in the form of an acknowledgement message (not shown) transmitted to the portable electronic device. Configuration parameters 107 themselves may be stored in a network-side location, within portable electronic device 102, or encoded within computer-readable visual symbol 105/125. When the configuration parameters are stored in a network-side location, they may be pushed to portable electronic device 102 by network-side DCS 101, or pulled from network-side DCS 101 by portable electronic device 102 (via the acknowledgement message, for example.) When the configuration parameters are stored within portable electronic device 102 or visual symbol 105/125 (or another non-network-side location), network-side DCS 101 may return (via the acknowledgement message, for example) commands and/or information (for example, cryptographic information) that can be interpreted by client-side DCS 101 on portable electronic device 102 to access and or utilize the configuration parameters.
In this manner, the process of configuring a portable electronic device for operation is simplified and automated, opportunities for errors are reduced, and user satisfaction is enhanced.
With continuing reference to FIGS. 1 and 2, FIG. 3 is a simplified block diagram of an exemplary operating environment 300 in which aspects of DCS 101 and/or the method(s) shown in FIG. 2 may be implemented or used. Operating environment 300 is generally indicative of a wide variety of general-purpose or special-purpose computing environments, and is not intended to suggest any limitation as to the scope of use or functionality of the system(s) and methods described herein. For example, operating environment 300 may be a consumer electronic device such as a mobile phone, a personal digital assistant, a personal computer, a personal media player, a computer/television device, a set-top box, a hard-drive storage device, a video camera, a DVD player, a cable modem, a local media gateway, a device temporarily or permanently mounted in transportation equipment such as a wheeled vehicle, a plane, or a train, or another type of known or later developed consumer electronic device. Operating environment 300 may also be a type of networked server, or any aspect thereof. Such a server may be part of a distributed computing network, and may be used to implement, host, or proxy any type of network-based service in whole or in part.
As shown, operating environment 300 includes processors) 302, computer-readable media 304, computer-executable instructions 306, user interface(s) 340, network interface(s) 310, and specialized hardware/firmware 350. One or more internal buses 321 may be used to carry data, addresses, control signals, and other information within, to, or from operating environment 300 or elements thereof.
Processor 302, which may be a real or a virtual processor, controls functions of the operating environment by executing computer-executable instructions 306. The processor may execute instructions at the assembly, compiled, or machine-level to perform a particular process.
Computer-readable media 304 may represent any number and combination of local or remote devices, in any form, now known or later developed, capable of recording, storing, or transmitting computer-readable data. In particular, computer-readable media 304 may be, or may include, a semiconductor memory (such as a read only memory (“ROM”), any type of programmable ROM (“PROM”), a random access memory (“RAM”), or a Hash memory, for example); a magnetic storage device (such as a floppy disk drive, a hard disk drive, a magnetic drum, a magnetic tape, or a magneto-optical disk); an optical storage device (such as any type of compact, disk or digital versatile disk); a bubble memory; a cache memory; a core memory; a holographic memory; a memory stick; or any combination thereof. The computer-readable media may also include transmission media and data associated therewith. Examples of transmission media/data include, but are not limited to, data embodied in any form of wireline or wireless transmission, such as packetized or non-packetized data carried by a modulated carrier signal.
Computer-executable instructions 306 represent any signal processing methods or stored instructions. Generally, computer-executable instructions 306 are implemented as software components according to well-known practices for component-based software development, and encoded in computer-readable media. Computer programs may be combined or distributed in various ways. Computer-executable instructions 306, however, are not limited to implementation by any specific embodiments of computer programs, and in other instances may be implemented by, or executed in, hardware, software, firmware, or any combination thereof.
User interface(s) 340 represents the combination of physical or logical presentation tools and controls that define the way a user interacts with a particular application or device, such as DCS 101, networked server(s)/service(s) 104 within network(s) 110, electronic device 103, or portable electronic device 102. Presentation tools are used to provide output to a user. An example of a physical presentation tool is a display such as a monitor device. Another example of a physical presentation, tool is printed material on a surface such as paper, glass, metal, etc. An example of a logical presentation tool is a data organization technique (for example, a window, a menu, or a layout thereof). Controls facilitate the receipt of input from a user. An example of a physical control is art input device such as a remote control, a display, a mouse, a pen, a stylus, a trackball, a keyboard, a microphone, or a scanning device. An example of a logical control is a data organization technique (for example, a window, a menu, or a layout thereof) via which a user may issue commands. It will be appreciated that the same physical device or logical construct may function to provide outputs to, and receive inputs from, a user.
Network interface(s) 310 represent one or more physical or logical elements, such as connectivity devices or computer-executable instructions, which enable communication between operating environment 300 and external devices or services, via one or more protocols or techniques. Such communication may be, but is not necessarily, client-server type communication or peer-to-peer communication. Information received at a given network interface may traverse one or more layers of a communication protocol stack.
Specialized hardware 350 represents any hardware or firmware that implements functions of operating environment 300. Examples of specialized hardware include encoder/decoders decrypters, application-specific integrated circuits, clocks, image capture device 115, and the like.
It will be appreciated that particular configurations of operating environment 300 may include fewer, more, or different components or functions than those described. In addition, functional components of operating environment 300 may be implemented by one or more devices, which are co-located or remotely located, in a variety of ways.
Functions/components described herein as being computer programs are not limited to implementation by any specific embodiments of computer programs. Rather, such functions/components are processes that convey or transform data, and may generally be implemented by, or executed in, hardware, software, firmware, or any combination thereof.
It will be understood that when one element is indicated as being responsive to another element, the elements may be directly or indirectly coupled. Connections depicted herein may be logical or physical in practice to achieve a coupling or communicative interface between elements. Connections may be implemented, among other ways, as inter-process communications among software processes, or inter-machine communications among networked computers.
The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any implementation or aspect thereof described herein as “exemplary” is not necessarily to be constructed as preferred or advantageous over other implementations or aspects thereof.
As it is understood that embodiments other than the specific embodiments described above may be devised without departing from the spirit and scope of the appended claims, it is intended that the scope of the subject matter herein will be governed by the following claims.

Claims (18)

What is claimed is:
1. A computer-readable storage medium not comprising transmission media and data associated therewith and encoded with computer-executable instructions which, when executed by a processor, perform a method for configuring a portable electronic device, comprising:
receiving user input information identifying a portable electronic device;
based on the user input information, generating a computer-readable visual symbol, the computer-readable visual symbol encoded with computer-readable data capable of being electronically captured by the portable electronic device:
transmitting the computer-readable visual symbol to a user of the portable electronic device;
receiving the computer-readable visual symbol by a device other than the portable electronic device;
based on the portable electronic device reproducing the computer-readable visual symbol, receiving a message from the portable electronic device, the message being based upon the computer-readable data encoded within the computer-readable visual symbol;
based on the message, authorizing the portable electronic device to use configuration parameters to automatically configure itself for operation.
2. The computer-readable storage medium according to claim 1, wherein the computer-readable visual symbol further comprises one of a group, said group comprising: a computer-readable bar code, computer-readable matrix codes, computer-readable tags and QR code.
3. The computer-readable storage medium according to claim 1, wherein the computer-readable visual symbol is capable of being captured by an image capture device of the portable electronic device.
4. The computer-readable storage medium according to claim 1, further comprising:
based on the received message, authenticating the portable electronic device.
5. The computer-readable storage medium according to claim 1, wherein transmitting the computer-readable visual symbol to a user of the portable electronic device comprises transmitting the computer-readable visual symbol to an electronic device selected from the group comprising: the portable electronic device; and an electronic device other than the portable electronic device.
6. The computer-readable storage medium according to claim 1, wherein the user input information comprises one of a group, said group comprising: user identification data, user authentication data, portable electronic device identification data and configuration parameters.
7. The computer-readable storage medium according to claim 1, wherein the message is automatically received from the portable electronic device, and wherein the message includes a reproduction of the computer-readable visual symbol obtained by the portable electronic device.
8. The computer-readable storage medium according to claim 1, wherein the configuration parameters are stored in a location within the portable electronic device, and wherein authorizing the portable electronic device to use the configuration parameters comprises transmitting cryptographic information to the portable electronic device, the cryptographic information usable to access the location.
9. The computer-readable storage medium according to claim 1, wherein the configuration parameters are stored in a network location, and wherein authorizing the portable electronic device to use the configuration parameters comprises transmitting the configuration parameters to the portable electronic device.
10. The computer-readable storage medium according to claim 1, wherein the configuration parameters are selected from the group comprising: device-related settings; user-related settings; and system-related settings.
11. A computer-readable storage medium not comprising transmission media and data associated therewith and encoded with computer-executable instructions which, when executed by a processor, perform a method for configuring a portable electronic device, comprising:
inputting a computer-readable visual symbol via an image capture device on a portable electronic device, wherein the computer-readable visual symbol is generated by a network-side service in response to user input information received by the network-side service;
based on inputting the computer-readable visual symbol, transmitting a message to the network-side service;
receiving an authorization for the portable electronic device to access configuration parameters;
based on the authorization, accessing the configuration parameters;
and
using the configuration parameters to automatically configure the portable electronic device.
12. The computer-readable storage medium according to claim 11, wherein reproducing the computer-readable visual symbol comprises electronically copying the computer-readable visual symbol using the portable electronic device.
13. The computer-readable storage medium according to claim 11, wherein the received computer-readable visual symbol is one of a group, said group comprising: a computer-readable bar code, computer-readable matrix codes, computer-readable tags and QR code.
14. The computer-readable storage medium according to claim 11, wherein the configuration parameters are stored in a location selected from the group comprising: a location specified by the network-side service; the portable electronic device; and the computer-readable visual symbol.
15. The computer-readable storage medium according to claim 14, wherein accessing the configuration parameters comprises an action selected from the group comprising: pulling the configuration parameters; and waiting for the configuration parameters to be pushed.
16. The computer-readable storage medium according to claim 11, wherein the configuration parameters are selected from the group comprising: device-related settings; user-related settings; and system-related settings.
17. A portable electronic device, comprising:
an image capture device;
a computer-readable storage medium; and
a processor responsive to the computer-readable storage medium and to a computer program stored within the computer-readable storage medium, the computer program, when loaded into the processor, operable to perform a method comprising:
capturing an image of a computer-readable visual symbol via the image capture device, wherein the computer-readable visual symbol is generated by a network-side service in response to user input information received by the network-side service;
based on the image, transmitting a message to a network-side service;
based on transmitting, receiving an authorization from the network-side service to access configuration parameters;
based on the authorization, accessing the configuration parameters; and
based on the configuration parameters, automatically configuring the portable electronic device for operation.
18. The computer-readable storage medium according to claim 17, wherein the portable electronic device is selected from the group comprising: a mobile phone; a digital camera; a personal digital assistant; a personal computer; and a portable media player.
US12/483,302 2009-06-12 2009-06-12 Automatic portable electronic device configuration Active 2031-12-26 US8710953B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US12/483,302 US8710953B2 (en) 2009-06-12 2009-06-12 Automatic portable electronic device configuration
US14/222,440 US10037015B2 (en) 2009-06-12 2014-03-21 Automatic portable electronic device configuration
US16/004,619 US10191457B2 (en) 2009-06-12 2018-06-11 Automatic portable electronic device configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/483,302 US8710953B2 (en) 2009-06-12 2009-06-12 Automatic portable electronic device configuration

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/222,440 Continuation US10037015B2 (en) 2009-06-12 2014-03-21 Automatic portable electronic device configuration

Publications (2)

Publication Number Publication Date
US20100315200A1 US20100315200A1 (en) 2010-12-16
US8710953B2 true US8710953B2 (en) 2014-04-29

Family

ID=43305928

Family Applications (3)

Application Number Title Priority Date Filing Date
US12/483,302 Active 2031-12-26 US8710953B2 (en) 2009-06-12 2009-06-12 Automatic portable electronic device configuration
US14/222,440 Active 2030-02-19 US10037015B2 (en) 2009-06-12 2014-03-21 Automatic portable electronic device configuration
US16/004,619 Active US10191457B2 (en) 2009-06-12 2018-06-11 Automatic portable electronic device configuration

Family Applications After (2)

Application Number Title Priority Date Filing Date
US14/222,440 Active 2030-02-19 US10037015B2 (en) 2009-06-12 2014-03-21 Automatic portable electronic device configuration
US16/004,619 Active US10191457B2 (en) 2009-06-12 2018-06-11 Automatic portable electronic device configuration

Country Status (1)

Country Link
US (3) US8710953B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216262B2 (en) 2016-03-25 2022-01-04 Microsoft Technology Licensing, Llc Device provisioning

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339519B2 (en) * 2010-11-29 2019-07-02 Ncr Corporation Visual access token
GB2506783A (en) * 2011-07-29 2014-04-09 Hewlett Packard Development Co Enabling a computing device to utilize another computing device
US8485438B2 (en) * 2011-09-19 2013-07-16 Google Inc. Mobile computing device authentication using scannable images
US8245934B1 (en) * 2011-09-30 2012-08-21 Google Inc. Apparatus and method for automatically providing information to a new computer
US8544724B2 (en) 2012-01-06 2013-10-01 Seachange International, Inc. Systems and methods for associating a mobile electronic device with a preexisting subscriber account
US20130179185A1 (en) * 2012-01-10 2013-07-11 Harris Corporation System and method for tactical medical triage data capture and transmission
US8935777B2 (en) * 2012-02-17 2015-01-13 Ebay Inc. Login using QR code
JP2013251683A (en) * 2012-05-31 2013-12-12 Nec Access Technica Ltd Communication system, communication terminal, and control method for the same
CN103576838A (en) * 2012-07-23 2014-02-12 信泰光学(深圳)有限公司 Electronic device configuration setting management system and method
US10051467B2 (en) * 2013-01-23 2018-08-14 Microsoft Technology Licensing, Llc Restricted-use authentication codes
US9644957B2 (en) 2013-06-17 2017-05-09 Microsoft Technology Licensing, Llc Interaction device corrective parameters
US9213825B1 (en) * 2014-02-21 2015-12-15 American Megatrends, Inc. User authentication using two-dimensional barcodes
EP3146673B1 (en) * 2014-05-23 2018-03-21 Nec Corporation Method for connecting a device to a server in a network
US9288235B1 (en) * 2014-09-17 2016-03-15 Microsoft Technology Licensing, Llc Contextually aware device management
DE102015205050A1 (en) * 2015-03-20 2016-09-22 Ford Global Technologies, Llc Arrangement and method for the transmission of traffic-related data by road
EP3682394B1 (en) * 2017-10-25 2022-04-06 Siemens Mobility, Inc. Device configuration using qr and other machine readable codes
US10558872B2 (en) * 2018-03-23 2020-02-11 Veoneer Us Inc. Localization by vision
US10367687B1 (en) 2018-04-20 2019-07-30 Spotify Ab Methods and systems for provisioning settings of a media playback device
CN111077823B (en) * 2019-12-25 2021-06-04 中电科航空电子有限公司 Equipment control method and device, electronic equipment and readable storage medium
US20220215466A1 (en) * 2021-01-05 2022-07-07 Capital One Services, Llc Automatic account management modifications to affect predicted future events

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030128240A1 (en) * 1999-08-09 2003-07-10 Martinez Chris J. Method, system, and computer program product for a GUI to fingerprint scanner interface
US6711617B1 (en) 2000-02-09 2004-03-23 International Business Machines Corporation Method and apparatus for providing automatic configuration of a computer system based on its physical location using an electronically read schedule
US6975857B2 (en) * 2001-06-26 2005-12-13 Hewlett-Packard Development Company, L.P. Automatically configuring a communication interface of a device for connection with a wireless communication network
US20060090109A1 (en) 2001-10-17 2006-04-27 Bonnet Thierry Jean C A On the fly configuration of electronic device with attachable sub-modules
US20080177904A1 (en) 2007-01-22 2008-07-24 Storey Duane T Automatic configuration of peripheral devices
US20080244720A1 (en) 2004-09-14 2008-10-02 Armin Bartsch Portable Device For Clearing Access
US20080261616A1 (en) * 2007-04-20 2008-10-23 Novatel Wireless, Inc. Position-based automatic configuration of portable device
US20080304747A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Identifiers for digital media
US20090022096A1 (en) 2007-07-20 2009-01-22 John Walley Method and system for environment configuration by a device based on auto-discovery of local resources and generating preference information for those resources
US20090022315A1 (en) * 2007-07-19 2009-01-22 Lewis Leung Security module for securing an encrypted signal with system and method for use therewith
US20090172505A1 (en) * 2007-12-28 2009-07-02 Yamaha Corporation Magnetic data processing device, magnetic data processing method, and magnetic data processing program
US20090172508A1 (en) 2008-01-02 2009-07-02 International Business Machines Corporation Portable media device that automatically configures itself and/or an external media presentation device using previously-captured presentation data
US20090216534A1 (en) * 2008-02-22 2009-08-27 Prakash Somasundaram Voice-activated emergency medical services communication and documentation system

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4588991A (en) * 1983-03-07 1986-05-13 Atalla Corporation File access security method and means
US5505494B1 (en) * 1993-09-17 1998-09-29 Bell Data Software Corp System for producing a personal id card
US5939699A (en) * 1997-05-28 1999-08-17 Motorola, Inc. Bar code display apparatus
US5974463A (en) * 1997-06-09 1999-10-26 Compaq Computer Corporation Scaleable network system for remote access of a local network
WO2000008595A1 (en) * 1998-08-04 2000-02-17 Fujitsu Limited Signature system for presenting user signature information
US20010034717A1 (en) * 2000-02-15 2001-10-25 Whitworth Brian L. Fraud resistant credit card using encryption, encrypted cards on computing devices
KR20010064678A (en) * 2000-06-13 2001-07-11 윤종용 Information service system and method using the bar code
US7774231B2 (en) * 2000-09-29 2010-08-10 Nokia Corporation Electronic payment methods for a mobile device
US7707120B2 (en) * 2002-04-17 2010-04-27 Visa International Service Association Mobile account authentication service
AU2003240991A1 (en) * 2002-04-30 2003-11-17 Saj Muzaffar Payment system
US7909699B2 (en) * 2002-06-27 2011-03-22 Igt Scan based configuration control in a gaming environment
US7121469B2 (en) * 2002-11-26 2006-10-17 International Business Machines Corporation System and method for selective processing of digital images
US6892947B1 (en) * 2003-07-30 2005-05-17 Hewlett-Packard Development Company, L.P. Barcode embedding methods, barcode communication methods, and barcode systems
US20050029358A1 (en) * 2003-08-07 2005-02-10 Mankins David Patrick Bar code input for camera-equipped wireless devices
US7822983B2 (en) * 2003-08-21 2010-10-26 Microsoft Corporation Physical device bonding
US7427024B1 (en) * 2003-12-17 2008-09-23 Gazdzinski Mark J Chattel management apparatus and methods
US7810137B1 (en) * 2003-12-22 2010-10-05 Cisco Technology, Inc. Method of controlling network access that induces consumption of merchant goods or services
US20050203854A1 (en) * 2004-02-23 2005-09-15 Pitney Bowes Incorporated Method and system for using a camera cell phone in transactions
US20070300142A1 (en) * 2005-04-01 2007-12-27 King Martin T Contextual dynamic advertising based upon captured rendered text
US8006176B2 (en) * 2004-10-08 2011-08-23 Sharp Laboratories Of America, Inc. Methods and systems for imaging-device-based form field management
US7578436B1 (en) * 2004-11-08 2009-08-25 Pisafe, Inc. Method and apparatus for providing secure document distribution
US7809949B2 (en) * 2005-07-26 2010-10-05 Apple Inc. Configuration of a computing device in a secure manner
US8700729B2 (en) * 2005-01-21 2014-04-15 Robin Dua Method and apparatus for managing credentials through a wireless network
US7634802B2 (en) * 2005-01-26 2009-12-15 Microsoft Corporation Secure method and system for creating a plug and play network
US20070215685A1 (en) * 2005-02-03 2007-09-20 Yottamark, Inc. System and Method of Product Identification Using a URL
WO2007127385A2 (en) * 2006-04-27 2007-11-08 Codebroker Llc Customizing barcode images for particular displays
US7537162B1 (en) * 2005-09-28 2009-05-26 Adobe Systems Incorporated Methods and apparatus for validating input by rendering a barcode
US7933668B2 (en) * 2005-10-26 2011-04-26 Rockwell Automation Technologies, Inc. Wireless industrial control user interface with configurable software capabilities
US20070255662A1 (en) * 2006-03-30 2007-11-01 Obopay Inc. Authenticating Wireless Person-to-Person Money Transfers
US7434724B2 (en) * 2006-12-22 2008-10-14 Welch Allyn, Inc. Dynamic barcode for displaying medical data
US8935187B2 (en) * 2007-03-07 2015-01-13 Playspan, Inc. Distributed payment system and method
US20090171175A1 (en) * 2007-12-31 2009-07-02 Nellcor Puritan Bennett Llc Personalized Medical Monitoring: Auto-Configuration Using Patient Record Information
US8272038B2 (en) * 2008-05-19 2012-09-18 International Business Machines Corporation Method and apparatus for secure authorization
US9332004B2 (en) * 2009-06-11 2016-05-03 Microsoft Technology Licensing, Llc Digital content acquisition system and techniques
US9686270B2 (en) * 2009-07-27 2017-06-20 Vonage America Inc. Authentication systems and methods using a packet telephony device
KR101836876B1 (en) * 2011-03-02 2018-03-09 삼성전자주식회사 Apparatus and method for performing network connection in portable terminal
US9367860B2 (en) * 2011-08-05 2016-06-14 Sean McKirdy Barcode generation and implementation method and system for processing information
US8818276B2 (en) * 2012-05-16 2014-08-26 Nokia Corporation Method, apparatus, and computer program product for controlling network access to guest apparatus based on presence of hosting apparatus
US8939363B2 (en) * 2013-03-15 2015-01-27 The Code Corporation Creating a virtual bar code from a physical bar code
CN105339950B (en) * 2013-08-06 2017-12-26 英特尔公司 Use the optical communication of difference image

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030128240A1 (en) * 1999-08-09 2003-07-10 Martinez Chris J. Method, system, and computer program product for a GUI to fingerprint scanner interface
US6711617B1 (en) 2000-02-09 2004-03-23 International Business Machines Corporation Method and apparatus for providing automatic configuration of a computer system based on its physical location using an electronically read schedule
US6975857B2 (en) * 2001-06-26 2005-12-13 Hewlett-Packard Development Company, L.P. Automatically configuring a communication interface of a device for connection with a wireless communication network
US20060090109A1 (en) 2001-10-17 2006-04-27 Bonnet Thierry Jean C A On the fly configuration of electronic device with attachable sub-modules
US20080244720A1 (en) 2004-09-14 2008-10-02 Armin Bartsch Portable Device For Clearing Access
US20080177904A1 (en) 2007-01-22 2008-07-24 Storey Duane T Automatic configuration of peripheral devices
US20080261616A1 (en) * 2007-04-20 2008-10-23 Novatel Wireless, Inc. Position-based automatic configuration of portable device
US20080304747A1 (en) * 2007-06-08 2008-12-11 Apple Inc. Identifiers for digital media
US20090022315A1 (en) * 2007-07-19 2009-01-22 Lewis Leung Security module for securing an encrypted signal with system and method for use therewith
US20090022096A1 (en) 2007-07-20 2009-01-22 John Walley Method and system for environment configuration by a device based on auto-discovery of local resources and generating preference information for those resources
US20090172505A1 (en) * 2007-12-28 2009-07-02 Yamaha Corporation Magnetic data processing device, magnetic data processing method, and magnetic data processing program
US20090172508A1 (en) 2008-01-02 2009-07-02 International Business Machines Corporation Portable media device that automatically configures itself and/or an external media presentation device using previously-captured presentation data
US20090216534A1 (en) * 2008-02-22 2009-08-27 Prakash Somasundaram Voice-activated emergency medical services communication and documentation system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Global IP Telecommunications, Inc. LANbot: Automatic Configuration of Local Area Networks White Paper", retrieved at <<http://downloads.lanbot.com/whitepapers/lanbot-white-paper-en-apr-03-2006.pdf>>, White Paper, Apr. 2006. pp 1-11.
"Global IP Telecommunications, Inc. LANbot: Automatic Configuration of Local Area Networks White Paper", retrieved at <<http://downloads.lanbot.com/whitepapers/lanbot—white—paper—en—apr—03—2006.pdf>>, White Paper, Apr. 2006. pp 1-11.
Todd Phillips and Dan Lepow, Internet Explorer 7 Deployment Guide,March 2007, Microsoft, Pertinent Pages: Entire Document. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11216262B2 (en) 2016-03-25 2022-01-04 Microsoft Technology Licensing, Llc Device provisioning

Also Published As

Publication number Publication date
US20100315200A1 (en) 2010-12-16
US10037015B2 (en) 2018-07-31
US10191457B2 (en) 2019-01-29
US20140225711A1 (en) 2014-08-14
US20180348721A1 (en) 2018-12-06

Similar Documents

Publication Publication Date Title
US10191457B2 (en) Automatic portable electronic device configuration
US9979720B2 (en) Passwordless strong authentication using trusted devices
CN106936803B (en) Two-dimensional code scanning authentication login method and related device
CN103098441B (en) Equipment communicates
CA2922257C (en) Method for producing dynamic data structures for authentication and/or password identification
US8464324B2 (en) System and method for identity verification on a computer
US9674181B2 (en) Surveillance camera renting service
US9332004B2 (en) Digital content acquisition system and techniques
US20170230444A1 (en) Cloud service server and method for managing cloud service server
CN104320703A (en) Method, device and system for logging in intelligent television terminal
CN104253784A (en) Logging and authorization method and system
JP2014092831A (en) Two-dimensional bar code display terminal, two-dimensional bar code display method, and program, and visitor certification system
CN107196917B (en) Service response method and middleware thereof
CN105426743A (en) Account permission authorization method, account login method, server and client
US9658817B2 (en) Screen sharing terminal, method of screen sharing, and program for screen sharing terminal
JP6277868B2 (en) Document management system, document reproduction device, document management method, and computer program
CN105740670A (en) Application encryption method and device, and application startup method and device
CN103036852A (en) Method and device for achieving network login
EP3528152A1 (en) Method and apparatus for user authentication
JP2010066928A (en) Server system, electronic equipment, communication terminal, and authentication method
US20160239641A1 (en) Method and System for Scan and Matching Media for Streaming Authorization
TWI223150B (en) Authentication method of portable terminal
KR101561771B1 (en) The software license authentication apparatus and the method of using the portable terminal
CN114386010A (en) Application login method and device, electronic equipment and storage medium
Yeh et al. A robust NFC-based personalized IPTV service system

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WARRIER, PADMANAND;REEL/FRAME:023210/0690

Effective date: 20090610

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034564/0001

Effective date: 20141014

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8