WO2016108718A1 - Method and apparatus for it appliance control - Google Patents

Method and apparatus for it appliance control Download PDF

Info

Publication number
WO2016108718A1
WO2016108718A1 PCT/RU2014/001015 RU2014001015W WO2016108718A1 WO 2016108718 A1 WO2016108718 A1 WO 2016108718A1 RU 2014001015 W RU2014001015 W RU 2014001015W WO 2016108718 A1 WO2016108718 A1 WO 2016108718A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage system
action regarding
graphical representation
configuration
encoding
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.)
Ceased
Application number
PCT/RU2014/001015
Other languages
French (fr)
Inventor
Inga Sergeyevna PETRYAEVSKAYA
Yuri Alexandrovich ZAGREBIN
Konstantin Sergeyevitch TYAPOCHKIN
Alexey Dmitrievitch FOMIN
Vitaly Stanislavovitch KOZLOVSKY
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Priority to US15/318,111 priority Critical patent/US10359934B2/en
Priority to PCT/RU2014/001015 priority patent/WO2016108718A1/en
Publication of WO2016108718A1 publication Critical patent/WO2016108718A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Definitions

  • This application relates to data storage and, more specifically, to automation of the service commands for data storage management.
  • Some data storage systems include complex arrangements of storage disk arrays, configuration management interfaces, and storage processors.
  • a system administrator faces many choices in making adjustments to the configuration of a data storage system in response to changing conditions, many of them resulting in suboptimal performance.
  • the system administrator may seek advice with regard to provisioning additional storage when a storage processor generates an alert that the available storage on a particular storage disk array has fallen below a threshold.
  • Example embodiments of the present invention relate to a method, an apparatus, and a computer program product for IT appliance control.
  • the method comprises determining an action regarding a storage system, encoding the action regarding the storage system, and representing the action regarding the storage system as a graphical representation.
  • FIG. 1 is a diagram illustrating a matrix barcode according to an example embodiment of the present invention
  • FIG. 2 is a process diagram illustrating a method for command execution on a storage array according to respective example embodiments of the present invention
  • FIG. 3 is a process diagram illustrating a method for storing and retrieving storage array configuration according to an example embodiment of the present invention
  • FIG. 4 is a process diagram illustrating a method for storing and retrieving storage array configuration for online purchasing according to an example embodiment of the present invention
  • FIGS. 5A-5B are flow diagrams illustrating methods according to respective example embodiments of the present invention.
  • FIG. 6 is a block diagram of an apparatus according to an example embodiment of the present invention.
  • FIG. 7 is an illustration of an example embodiment of the present invention embodied in computer program code.
  • Example embodiments of the present invention relate to automation of service commands which, in certain embodiments, enables executing them quickly and performing hardware management and maintenance in a more convenient way.
  • example embodiments of the present invention may minimize efforts on initial system configuration and maintenance during the hardware life time, reshape complex systems as simple and easy to use by masking the complexity of many management actions under an automated control framework, and enable "Storage Control Automation" to be offered as a premium service to customers.
  • example embodiments of the present invention may relate to different kinds of information technology (IT) appliances, for example, storage systems (e.g., storage arrays), general purpose servers, commodity hardware, network switches, routers, personal computers (PCs); and home equipment, for example, smart TVs, refrigerators, and other appliances.
  • IT information technology
  • storage systems e.g., storage arrays
  • general purpose servers e.g., storage arrays
  • commodity hardware e.g., network switches, routers, personal computers (PCs); and home equipment, for example, smart TVs, refrigerators, and other appliances.
  • PCs personal computers
  • home equipment for example, smart TVs, refrigerators, and other appliances.
  • example embodiments of the present invention may be applied to variety of hardware hich has a central processing unit (CPU), random access memory (RAM), and at least one interface port for service purposes.
  • CPU central processing unit
  • RAM random access memory
  • GUI remote user graphical user interface
  • CLI command line interface
  • FIG. 1 is a diagram illustrating a matrix barcode 100 (e.g., a quick response code or QR Code® by Denso Wave Incorporated of Tokyo, Japan). Matrix barcodes are described in U.S. Patent Nos. 5,726,435 entitled “OPTICALLY READABLE TWO- DIMENSIONAL CODE AND METHOD AND APPARATUS USING THE SAME".
  • Matrix barcodes are described in U.S. Patent Nos. 5,726,435 entitled "OPTICALLY READABLE TWO- DIMENSIONAL CODE AND METHOD AND APPARATUS USING THE SAME".
  • a matrix barcode is a machine-readable optical label that contains information, such as information about an item to which it is affixed.
  • a QR Code may use foiir standard encoding modes (i.e., numeric, alphanumeric, byte/binary, and kanji) to store data.
  • the matrix barcode 100 may represent encoding of information, such as a prefix 105 and a plurality of commands 1 10 (e.g., save 1 10-1 , replicate 1 10-2, and. shutdown 1 10-3).
  • the prefix 105 may indicate to a . device reading the matrix barcode 100 that one or more executable commands 1 10 follows.
  • FIG. 1 may be studied in conjunction with FIG. 5Awhich is a flow diagram illustrating a method according to an example embodiment of the present invention.
  • example embodiments of the present invention may determine an action 1 10 regarding a storage system to be represented in the matrix barcode (510) and encode the action 1 10 regarding the storage system (520).
  • the encoded action 1 10 regarding the storage system then may be represented as a graphical representation (530), such as the matrix barcode 100.
  • FIGS. 5A is a flow diagram illustrating a method according to an example embodiment of the present invention.
  • example embodiments of the present invention may determine an action 1 10 regarding a storage system to be represented in the matrix barcode (510) and encode the action 1 10 regarding the storage system (520).
  • the encoded action 1 10 regarding the storage system then may be represented as a graphical representation (530), such as the matrix barcode 100.
  • example embodiments of the present invention may receive the graphical representation (e.g., matrix barcode 100) of the action regarding the storage system as an input (540) and decode the encoded action 1 10 regarding the storage system represented by the graphical representation (550). The decoded action 1 10 regarding the storage system then may be performed (560).
  • the graphical representation e.g., matrix barcode 100
  • the decoded action 1 10 regarding the storage system then may be performed (560).
  • a hardware device e.g., scanner or optical device such as a mobile phone
  • the storage system e.g., universal serial bus (USB), local area network (LAN), or communications (COM) port.
  • a driver for the hardware device may recognize the scanned matrix barcode 100, identify command 1 10 markers in the matrix barcode 100, and execute them on the storage system.
  • the one or more storage system commands may be encoded as a binary set of instructions, with a software library used to represent the binary-encoded storage system commands as a series of black squares comprising the matrix barcode 100.
  • the storage system commands 1 10 may be a number of frequently used/important; commands or sequences which may be interpreted by, for example, a system CLI (e.g., Linux commands or scripts, such as reboot, reconfigured, shutdown, start replication, format, etc.).
  • a system CLI e.g., Linux commands or scripts, such as reboot, reconfigured, shutdown, start replication, format, etc.
  • usage of storage system commands 1 10 encoded in a matrix barcode 100 abstracts away the knowledge of system commands used in, for example, GUIs and CLIs from service personnel who actually run the storage system commands 1 10. Accordingly, example embodiments of the present invention enable masking of storage system commands 1 10 by encoding them in a machine- readable, form.
  • the binary set of instructions may be encrypted prior to representation as a matrix barcode such that the encrypted binary-encoded storage system commands are then represented as a series of black squares comprising the matrix barcode. Therefore, although matrix barcodes generally comply with one or more standards, the encrypted binary-encoded storage system commands may provide a limit on those that have the ability to read the storage system commands to only those that are able to decrypt or otherwise transform the output of reading the matrix barcode 100.
  • the information stored in the matrix barcode may be a pointer to an external location.
  • the external location may be a secure location requiring credentials for retrieval of the storage system commands.
  • Additional security layers may be provided by requiring authentication of a user scanning the matrix barcode 100, such as by scanning a second matrix barcode identifying the user (e.g printed on a personnel badge), with the second matrix barcode authenticating the identity of the user and authorizing the user to perform the one or more operations encoded in the matrix barcode 100.
  • FIG. 2 is a process diagram illustrating a method for command execution on a storage array according to respective example embodiments of the present invention.
  • example embodiments of the present invention enable quick and reliable system command execution on, for example, storage systems 220 which have no access via a common user interface (e.g., GUI or CLI).
  • GUI or CLI graphical user interface
  • non-qualified personnel may perform control actions on storage systems 220.
  • Another benefit provided by example embodiments of the present invention they enable performance of pre-programmed service operations (e.g., cleanup or reboot). Accordingly, example embodiments of the present invention enable performance of storage system services that significantly conserves resources and time.
  • matrix barcodes 200 may be provided in user documentation 200A (or, alternatively, in any other printed form, such as a digital image transmitted via e-mail) or on the chassis 200B (200 generally) of the storage system 220.
  • example embodiments of the present invention do not require use of specific hardware to read the matrix barcode 200; rather, for example, a mobile phone 21 OA (or any other . mobile device capable of scanning matrix barcodes using, for example, a matrix barcode scanning app) or a traditional barcode scanner 210B (210 generally) may be used to read the matrix barcode 200.
  • a user may use matrix barcode scanning device 210 to scan a matrix barcode 200 encoded with storage system commands (e.g., storage system commands 1 10 of FIG. 1) to generate an executable sequence 21 5 of storage system commands that may be executed on the storage system 220.
  • storage system commands e.g., storage system commands 1 10 of FIG. 1
  • the executable sequence 215 of storage system commands may be interpreted by a CLI; however, in alternate embodiments, the executable sequence 21 5 of storage system commands may be interpreted by a GUI or an application programming interface (API) for execution on the storage system 220.
  • API application programming interface
  • FIG. 3 is a process diagram illustrating a method for storing and retrieving storage system configuration according to an example embodiment of the present invention.
  • Some data storage systems include complex arrangements of storage disk arrays, configuration management interfaces, and storage processors. Accordingly, these storage systems require configuration (e.g., pools, tiers, RAlDs, LUNs to be composed, and loads assigned).
  • configuration e.g., pools, tiers, RAlDs, LUNs to be composed, and loads assigned.
  • example embodiments of the present invention may simplify work of users who need to retrieve storage system configuration information (e.g., model, capacity, memory, number of drives, LAN interfaces, etc.).
  • example embodiments of the present invention simplify inventory and identification of storage systems (and other devices) in labs
  • Advisory tools 330 are software applications which are widely used by sales and engineers to simplify the choice of the hardware and software configurations based on desired values. Input into an advisory tool 330 may include parameters (e.g., number of users, kind of applications that the storage system is targeted to serve, capacity, and power consumption). Typically, such advisory tools 330 are standalone applications that use databases 335 of the existing hardware and known average parameters of user applications to make final configuration choices. Advisory tools 330 are described in greater detail in U.S. Patent No. 8,782,341 entitled "EMBEDDED ADVISORY
  • VNXSizer provides capacity/performance sizing capabilities for VNX® and VNXe® by EMC Corporation of Hopkinton, Massachusetts (similar to the capabilities of VM AXSizer by EMC Corporation of Hopkinton, Massachusetts for VMAX® storage systems by EMC Corporation of Hopkinton, Massachusetts).
  • VNXSizer may be used by sales and pre-sales staff, channel partners, marketing, developers, testers, and administrators to determine a hardware configuration (e.g., model, disks, specific features) and workload allocation in an optimal manner according to given workload and application specifics (e.g., Exchange, Oracle, VDI, file. share, hardware model, preferred drives, etc.).
  • a hardware configuration e.g., model, disks, specific features
  • workload allocation e.g., Exchange, Oracle, VDI, file. share, hardware model, preferred drives, etc.
  • Advisory tools 330 may generate a physical' configuration report identifying a storage system (e.g., system type, such as VNX5800), software version, IOPS, percent system utilization, power consumption, total storage, rack, unit usage, drive count, number of hot spares, number of vault dri ves, and risk profile.
  • a storage system e.g., system type, such as VNX5800
  • IOPS percent system utilization
  • power consumption e.g., power consumption, total storage, rack, unit usage, drive count, number of hot spares, number of vault dri ves, and risk profile.
  • Advisory tools 330 also may generate a. table identifying storage pools, including pool ID,, storage tier description (including RAID level), pool type, pool options, disk count, pool storage capacity, percent pool utilization, percent tier drive saturation,. and pool response time.
  • This configuration information may be stored in; a configuration database 335 or may be represented. in a specifically-formatted human-readable or binary file. For example, on a working storage system, its current configuration details, model, physical hardware available, and internal logical assignments may be viewed remotely or via a special system control panel connected to the rack for the . storage . system. This supposes usage of specific software for configuration management and control. In some cases, this might be needed for a user to know what sits inside the rack without even connecting to its control panel.
  • a matrix barcode 300 may be created which contains the information about the current configuration of the storage system 320. In certain embodiments, this may be the full content of an advisory tool 330 output including workload information or, in other embodiment, may include only the information regarding the hardware configuration. It ' is understood in the art that typical matrix barcodes 300 are able to store 4-7 Kbytes which is sufficient to store this type of information. In certain embodiments, a printed matrix barcode 300 may be placed on a human accessible side of the storage system 320 for scanning and determination of storage system 320 configuration information.
  • the matrix barcode scanner 310 may be communicatively attached to an advisory tool 330 input and, once the matrix barcode 300 is scanned, the storage system configuration information may be restored in the advisory tool 330 and stored in a configuration database 335. In certain embodiments, if the storage system configuration was changed (e.g., new disks were added) the matrix barcode 300 may be replaced by an updated accurate matrix barcode (not shown). It should be understood that matrix barcode 300 also may be used for asset identification and accounting, whereby an administrator scans the matrix barcode 300 and add the .hardware description provided by the matrix barcode 300 to a list of assets. In certain embodiments, the matrix barcode 300 may be provided by a vendor and shipped to a customer with the matrix barcode 300 in place.
  • configuration description information read from the matrix barcode 300 may be transmitted to another location (e.g., for reporting, duplication, and estimation), other customers, or back to a manufacturer for service. It should be noted that in each of these example embodiments storage configuration information regarding the storage system 320 may be retrieved via the matrix barcode 300 without software access (i.e., if the storage system 320 is turned off, damaged, or otherwise inaccessible via a software interface).
  • FIG. 4 is a process diagram illustrating a method for storing and retrieving storage array configuration for online purchasing according to an example embodiment of the present invention.
  • many customers and storage system manufacturers desire to have automated systems that provide analysis of storage system configuration (i.e., hardware and software).
  • automated systems must determine whether a proposed storage system are sufficient to satisfy desired customer applications without "overprovisioning", thereby increasing customer cost.
  • advisory tools e.g., VNXSizer
  • VNXSizer provide an output that may be entered manually as an order which has a number of disadvantages, including delays in entering/verifying the order, risk of mistake, cost of expert sales personnel, etc.
  • an advisory tool 430 output (e.g., from V XSizer) may be encoded in a matrix barcode 400 and represented alongside the human-readable advisory tool 430 output configuration report 432.
  • the matrix barcode 400 then may be scanned by a matrix barcode reader 410 and used for a number of purposes, including automation of form filling in a purchasing system 440.
  • the details of the configuration report 432 may be shared with other users or preserved in a configuration database (e.g., configuration database 335 of FIG. 3).
  • FIG. 6 is a block diagram of an example embodiment apparatus 605 according to the present invention.
  • the apparatus 605 may be part of a system 600 and includes memory 610 storing program logic 615, a processor 620 for executing a process 625, and a communications I/O interface 630, connected via a bus 635.
  • Processing may be implemented in hardware, software, or a combination of the two. Processing may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a storage medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform processing and to generate output information.
  • the methods and apparatus of this invention may take the form, at least partially, of program code (i.e., instructions) embodied in tangible non-transitory media, such as floppy diskettes, CD-ROMs, hard drives, random access or read only-memory, or any. other machine-readable storage medium.
  • program code i.e., instructions
  • tangible non-transitory media such as floppy diskettes, CD-ROMs, hard drives, random access or read only-memory, or any. other machine-readable storage medium.
  • program code When the, program code is loaded into and executed by a machine, such as the computer of FIG. 6, the machine becomes an apparatus for practicing the invention.
  • the program code When implemented on one or more general- purpose processors, the program code combines with such a processor to provide a unique apparatus that operates analogously to specific logic circuits. As such, a general purpose digital machine can be transformed into a special purpose digital machine.
  • FIG. 7 is a block diagram of a computer program product 700 including program logic 755, encoded on a computer-readable medium 760 in computer-executable code configured for carrying out the methods of the invention, according to an example embodiment of the present invention,
  • the logic for carrying out the method may be embodied as part of the aforementioned system, which is useful for carrying out a method described with reference to embodiments shown.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Example embodiments of the present invention relate to a method, an apparatus, and a computer program product for IT appliance control. The method comprises determining an action regarding a storage system, encoding the action regarding the storage system, and representing the action regarding the storage system as a graphical representation.

Description

METHOD AND APPARATUS FOR IT APPLIANCE CONTROL
A portion of the disclosure of this patent document may contain command formats and other computer language listings, all of which are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
CROSS REFERENCE TO RELATED APPLICATION
This Application is related to U.S. Patent No. 8,782,341 entitled "EMBEDDED ADVISORY FRAMEWORK FOR STORAGE CONFIGURATION MANAGEMENT" issued on July 15, 2014 and U.S. Patent Application Serial Nos. 13/804,596 entitled "OPTIMAL DATA STORAGE CONFIGURATION" filed on March 14, 2013;
13/813,825 entitled "RETRIEVING DATA FROM DATA STORAGE SYSTEMS" filed on February 1 , 2013; and 14/137,448 entitled "TIERED STORAGE DESIGN" filed on December 20, 2013, the teachings of which are hereby incorporated herein by reference in their entirety.
TECHNICAL FIELD
This application relates to data storage and, more specifically, to automation of the service commands for data storage management. BACKGROUND
Some data storage systems include complex arrangements of storage disk arrays, configuration management interfaces, and storage processors. A system administrator faces many choices in making adjustments to the configuration of a data storage system in response to changing conditions, many of them resulting in suboptimal performance. Along these lines, the system administrator may seek advice with regard to provisioning additional storage when a storage processor generates an alert that the available storage on a particular storage disk array has fallen below a threshold.
Conventional configuration advisory tools for data storage systems use standalone applications that employ a set of heuristics based on historical configuration and failure event data. Along these lines, suppose that a data storage system needs to be configured to support a certain quantum of work of a given characteristic (called a "workload"). A system administrator will either contact a support center, which will use a standalone tool, or use a standalone tool himself. The tool will take the input characteristics of the workload, and consulting the set of heuristics that it is supplied with, will provide advice on how to configure the data storage system.
SUMMARY
Example embodiments of the present invention relate to a method, an apparatus, and a computer program product for IT appliance control. The method comprises determining an action regarding a storage system, encoding the action regarding the storage system, and representing the action regarding the storage system as a graphical representation.
BRIEF DESCRIPTIO OF THE DRAWINGS
Objects, features, and advantages of embodiments disclosed herein may be better understood by referring to the following description in conjunction with the
accompanying drawings. The drawings are not meant to limit the scope of the claims included herewith. For clarity, not every element may be labeled in every Figure. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments, principles, and concepts. Thus, features and advantages of the present disclosure will become more apparent from the following detailed description of exemplary embodiments thereof taken in conjunction with the accompanying drawings in which:
FIG. 1 is a diagram illustrating a matrix barcode according to an example embodiment of the present invention;
FIG. 2 is a process diagram illustrating a method for command execution on a storage array according to respective example embodiments of the present invention;
FIG. 3 is a process diagram illustrating a method for storing and retrieving storage array configuration according to an example embodiment of the present invention;
FIG. 4 is a process diagram illustrating a method for storing and retrieving storage array configuration for online purchasing according to an example embodiment of the present invention; FIGS. 5A-5B are flow diagrams illustrating methods according to respective example embodiments of the present invention;
FIG. 6 is a block diagram of an apparatus according to an example embodiment of the present invention; and
FIG. 7 is an illustration of an example embodiment of the present invention embodied in computer program code.
DETAILED DESCRIPTION
Example embodiments of the present invention relate to automation of service commands which, in certain embodiments, enables executing them quickly and performing hardware management and maintenance in a more convenient way. For example, example embodiments of the present invention may minimize efforts on initial system configuration and maintenance during the hardware life time, reshape complex systems as simple and easy to use by masking the complexity of many management actions under an automated control framework, and enable "Storage Control Automation" to be offered as a premium service to customers.
Although the description below describes use of example embodiments of the present invention with V X® storage systems by EMC Corporation of Hopkinton, Massachusetts, it should be understood that example embodiments of the present invention may relate to different kinds of information technology (IT) appliances, for example, storage systems (e.g., storage arrays), general purpose servers, commodity hardware, network switches, routers, personal computers (PCs); and home equipment, for example, smart TVs, refrigerators, and other appliances. It should be understood that example embodiments of the present invention may be applied to variety of hardware hich has a central processing unit (CPU), random access memory (RAM), and at least one interface port for service purposes.
Typically, storage systems require maintenance work to be performed by service engineers. This may include tuning of some internal parameters like redundant array of independent disk (RAID) configuration, logical unit (LUN) allocation, data collection routines, statistics gathering, settings reset, or any other anonymous or authorized commands. In general, however, the storage system does not have keyboard and monitor attached so a remote user graphical user interface (GUI) or command line interface (CLI) is used to access the system. This provides an added layer of complexity and, in the case of an inability to access the storage system via the GUI or the CLI (e.g., if a network card is broken or because of a driver failure), there is no way to execute system commands without connection of additional equipment (e.g., keyboard and monitor). In many cases, this requires significant effort to perform what should be a simple command (i.e., system or service reset, log collection, etc.). In other cases, some sequence of complex system scripts may need to be run but a qualified service technician may not be reachable or additional hardware may not be available. Therefore, what is needed is a more simple and reliable way to execute commands with minimal user requirements.
FIG. 1 is a diagram illustrating a matrix barcode 100 (e.g., a quick response code or QR Code® by Denso Wave Incorporated of Tokyo, Japan). Matrix barcodes are described in U.S. Patent Nos. 5,726,435 entitled "OPTICALLY READABLE TWO- DIMENSIONAL CODE AND METHOD AND APPARATUS USING THE SAME"., issued on March 10, 1998; 5,691 ,527 entitled "TWO DIMENSIONAL CODE READING APPARATUS" issued on November 25, 1997; and 7,032,823 entitled "TWO- DIMENSIONAL CODE, METHODS AND APPARATUSES FOR GENERATING, DISPLAYING AND READING THE SAME" issued on April 25, 2006, the teachings of ' which are hereby incorporated herein by reference in their entirety. A matrix barcode is a machine-readable optical label that contains information, such as information about an item to which it is affixed. A QR Code may use foiir standard encoding modes (i.e., numeric, alphanumeric, byte/binary, and kanji) to store data.
As illustrated in FIG. 1 , the matrix barcode 100 may represent encoding of information, such as a prefix 105 and a plurality of commands 1 10 (e.g., save 1 10-1 , replicate 1 10-2, and. shutdown 1 10-3). For example, the prefix 105 may indicate to a . device reading the matrix barcode 100 that one or more executable commands 1 10 follows.
FIG. 1 may be studied in conjunction with FIG. 5Awhich is a flow diagram illustrating a method according to an example embodiment of the present invention. As illustrated in FIGS. 1 and 5A, to create a matrix barcode 100, example embodiments of the present invention may determine an action 1 10 regarding a storage system to be represented in the matrix barcode (510) and encode the action 1 10 regarding the storage system (520). The encoded action 1 10 regarding the storage system then may be represented as a graphical representation (530), such as the matrix barcode 100. As illustrated in FIGS. 1 and 5B, to use a matrix barcode 100 for automation of storage management, example embodiments of the present invention may receive the graphical representation (e.g., matrix barcode 100) of the action regarding the storage system as an input (540) and decode the encoded action 1 10 regarding the storage system represented by the graphical representation (550). The decoded action 1 10 regarding the storage system then may be performed (560).
In certain embodiments, a hardware device (e.g., scanner or optical device such as a mobile phone) may interface with the storage system (e.g., universal serial bus (USB), local area network (LAN), or communications (COM) port). In certain embodiments, a driver for the hardware device may recognize the scanned matrix barcode 100, identify command 1 10 markers in the matrix barcode 100, and execute them on the storage system.
For example, in certain embodiments, the one or more storage system commands may be encoded as a binary set of instructions, with a software library used to represent the binary-encoded storage system commands as a series of black squares comprising the matrix barcode 100. The storage system commands 1 10 may be a number of frequently used/important; commands or sequences which may be interpreted by, for example, a system CLI (e.g., Linux commands or scripts, such as reboot, reconfigured, shutdown, start replication, format, etc.). In other words, usage of storage system commands 1 10 encoded in a matrix barcode 100 abstracts away the knowledge of system commands used in, for example, GUIs and CLIs from service personnel who actually run the storage system commands 1 10. Accordingly, example embodiments of the present invention enable masking of storage system commands 1 10 by encoding them in a machine- readable, form.
Further, in certain embodiments, the binary set of instructions may be encrypted prior to representation as a matrix barcode such that the encrypted binary-encoded storage system commands are then represented as a series of black squares comprising the matrix barcode. Therefore, although matrix barcodes generally comply with one or more standards, the encrypted binary-encoded storage system commands may provide a limit on those that have the ability to read the storage system commands to only those that are able to decrypt or otherwise transform the output of reading the matrix barcode 100.
In other embodiments, the information stored in the matrix barcode may be a pointer to an external location. In certain embodiments, the external location may be a secure location requiring credentials for retrieval of the storage system commands.
Additional security layers may be provided by requiring authentication of a user scanning the matrix barcode 100, such as by scanning a second matrix barcode identifying the user (e.g printed on a personnel badge), with the second matrix barcode authenticating the identity of the user and authorizing the user to perform the one or more operations encoded in the matrix barcode 100.
FIG. 2 is a process diagram illustrating a method for command execution on a storage array according to respective example embodiments of the present invention. As illustrated in FIG. 2, example embodiments of the present invention enable quick and reliable system command execution on, for example, storage systems 220 which have no access via a common user interface (e.g., GUI or CLI). As a result of example embodiments of the present invention, even non-qualified personnel may perform control actions on storage systems 220. Another benefit provided by example embodiments of the present invention they enable performance of pre-programmed service operations (e.g., cleanup or reboot). Accordingly, example embodiments of the present invention enable performance of storage system services that significantly conserves resources and time.
As illustrated in FIG. 2, in alternate embodiments, matrix barcodes 200 may be provided in user documentation 200A (or, alternatively, in any other printed form, such as a digital image transmitted via e-mail) or on the chassis 200B (200 generally) of the storage system 220. Similarly, as illustrated in FIG. 2, in alternate embodiments, example embodiments of the present invention do not require use of specific hardware to read the matrix barcode 200; rather, for example, a mobile phone 21 OA (or any other . mobile device capable of scanning matrix barcodes using, for example, a matrix barcode scanning app) or a traditional barcode scanner 210B (210 generally) may be used to read the matrix barcode 200.
Therefore, as illustrated in FIG. 2, a user (not shown) may use matrix barcode scanning device 210 to scan a matrix barcode 200 encoded with storage system commands (e.g., storage system commands 1 10 of FIG. 1) to generate an executable sequence 21 5 of storage system commands that may be executed on the storage system 220. As illustrated in FIG. 2, the executable sequence 215 of storage system commands may be interpreted by a CLI; however, in alternate embodiments, the executable sequence 21 5 of storage system commands may be interpreted by a GUI or an application programming interface (API) for execution on the storage system 220.
FIG. 3 is a process diagram illustrating a method for storing and retrieving storage system configuration according to an example embodiment of the present invention. Some data storage systems include complex arrangements of storage disk arrays, configuration management interfaces, and storage processors. Accordingly, these storage systems require configuration (e.g., pools, tiers, RAlDs, LUNs to be composed, and loads assigned). As illustrated in FIG. 3, example embodiments of the present invention may simplify work of users who need to retrieve storage system configuration information (e.g., model, capacity, memory, number of drives, LAN interfaces, etc.). Alternatively, example embodiments of the present invention simplify inventory and identification of storage systems (and other devices) in labs
Advisory tools 330 are software applications which are widely used by sales and engineers to simplify the choice of the hardware and software configurations based on desired values. Input into an advisory tool 330 may include parameters (e.g., number of users, kind of applications that the storage system is targeted to serve, capacity, and power consumption). Typically, such advisory tools 330 are standalone applications that use databases 335 of the existing hardware and known average parameters of user applications to make final configuration choices. Advisory tools 330 are described in greater detail in U.S. Patent No. 8,782,341 entitled "EMBEDDED ADVISORY
FRAMEWORK FOR STORAGE CONFIGURATION MANAGEMENT" issued on July 15, 2014 and commonly assigned with the present invention to EMC Corporation of Hppkinton, Massachusetts, the teachings of which are herein incorporated by reference in their entirety.
One such advisory tool 330 is VNXSizer by EMC Corporation of Hopkinton, Massachusetts. In general, VNXSizer provides capacity/performance sizing capabilities for VNX® and VNXe® by EMC Corporation of Hopkinton, Massachusetts (similar to the capabilities of VM AXSizer by EMC Corporation of Hopkinton, Massachusetts for VMAX® storage systems by EMC Corporation of Hopkinton, Massachusetts). In general, VNXSizer may be used by sales and pre-sales staff, channel partners, marketing, developers, testers, and administrators to determine a hardware configuration (e.g., model, disks, specific features) and workload allocation in an optimal manner according to given workload and application specifics (e.g., Exchange, Oracle, VDI, file. share, hardware model, preferred drives, etc.).
Advisory tools 330, such as VNXSizer, may generate a physical' configuration report identifying a storage system (e.g., system type, such as VNX5800), software version, IOPS, percent system utilization, power consumption, total storage, rack, unit usage, drive count, number of hot spares, number of vault dri ves, and risk profile.
Advisory tools 330 also may generate a. table identifying storage pools, including pool ID,, storage tier description (including RAID level), pool type, pool options, disk count, pool storage capacity, percent pool utilization, percent tier drive saturation,. and pool response time. This configuration information may be stored in; a configuration database 335 or may be represented. in a specifically-formatted human-readable or binary file. For example, on a working storage system, its current configuration details, model, physical hardware available, and internal logical assignments may be viewed remotely or via a special system control panel connected to the rack for the. storage . system. This supposes usage of specific software for configuration management and control. In some cases, this might be needed for a user to know what sits inside the rack without even connecting to its control panel.
As illustrated in FIG. 3, in an example embodiment of the present invention, a matrix barcode 300 may be created which contains the information about the current configuration of the storage system 320. In certain embodiments, this may be the full content of an advisory tool 330 output including workload information or, in other embodiment, may include only the information regarding the hardware configuration. It ' is understood in the art that typical matrix barcodes 300 are able to store 4-7 Kbytes which is sufficient to store this type of information. In certain embodiments, a printed matrix barcode 300 may be placed on a human accessible side of the storage system 320 for scanning and determination of storage system 320 configuration information.
The matrix barcode scanner 310 may be communicatively attached to an advisory tool 330 input and, once the matrix barcode 300 is scanned, the storage system configuration information may be restored in the advisory tool 330 and stored in a configuration database 335. In certain embodiments, if the storage system configuration was changed (e.g., new disks were added) the matrix barcode 300 may be replaced by an updated accurate matrix barcode (not shown). It should be understood that matrix barcode 300 also may be used for asset identification and accounting, whereby an administrator scans the matrix barcode 300 and add the .hardware description provided by the matrix barcode 300 to a list of assets. In certain embodiments, the matrix barcode 300 may be provided by a vendor and shipped to a customer with the matrix barcode 300 in place. Additionally, in other embodiments, configuration description information read from the matrix barcode 300 may be transmitted to another location (e.g., for reporting, duplication, and estimation), other customers, or back to a manufacturer for service. It should be noted that in each of these example embodiments storage configuration information regarding the storage system 320 may be retrieved via the matrix barcode 300 without software access (i.e., if the storage system 320 is turned off, damaged, or otherwise inaccessible via a software interface).
FIG. 4 is a process diagram illustrating a method for storing and retrieving storage array configuration for online purchasing according to an example embodiment of the present invention. In general, many customers and storage system manufacturers desire to have automated systems that provide analysis of storage system configuration (i.e., hardware and software). However, such automated systems must determine whether a proposed storage system are sufficient to satisfy desired customer applications without "overprovisioning", thereby increasing customer cost. Traditionally, advisory tools (e.g., VNXSizer) provide an output that may be entered manually as an order which has a number of disadvantages, including delays in entering/verifying the order, risk of mistake, cost of expert sales personnel, etc. Accordingly, in example embodiments of the present invention, an advisory tool 430 output (e.g., from V XSizer) may be encoded in a matrix barcode 400 and represented alongside the human-readable advisory tool 430 output configuration report 432. The matrix barcode 400 then may be scanned by a matrix barcode reader 410 and used for a number of purposes, including automation of form filling in a purchasing system 440. Additionally, the details of the configuration report 432 may be shared with other users or preserved in a configuration database (e.g., configuration database 335 of FIG. 3).
FIG. 6 is a block diagram of an example embodiment apparatus 605 according to the present invention. The apparatus 605 may be part of a system 600 and includes memory 610 storing program logic 615, a processor 620 for executing a process 625, and a communications I/O interface 630, connected via a bus 635.
Processing may be implemented in hardware, software, or a combination of the two. Processing may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a storage medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform processing and to generate output information.
The methods and apparatus of this invention may take the form, at least partially, of program code (i.e., instructions) embodied in tangible non-transitory media, such as floppy diskettes, CD-ROMs, hard drives, random access or read only-memory, or any. other machine-readable storage medium. When the, program code is loaded into and executed by a machine, such as the computer of FIG. 6, the machine becomes an apparatus for practicing the invention. When implemented on one or more general- purpose processors, the program code combines with such a processor to provide a unique apparatus that operates analogously to specific logic circuits. As such, a general purpose digital machine can be transformed into a special purpose digital machine.
FIG. 7 is a block diagram of a computer program product 700 including program logic 755, encoded on a computer-readable medium 760 in computer-executable code configured for carrying out the methods of the invention, according to an example embodiment of the present invention, The logic for carrying out the method may be embodied as part of the aforementioned system, which is useful for carrying out a method described with reference to embodiments shown.
Although the foregoing invention has been described in some detail for purposes of clarity of understanding, it will be apparent that certain changes and modifications may be practiced within the scope of the appended claims. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications,- and equivalents. Numerous specific details are set forth in the above description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured. Accordingly, the above implementations are to be considered as illustrative and not restrictive, and the invention is not to be limited to the details given herein, but may be modified within the scope and equivalents of the appended claims.

Claims

CLAIMS What is claimed is:
1 . A method comprising:
determining an action regarding a storage system;
encoding the action regarding the storage system; and
representing the action regarding the storage system as a graphical representation.
2. The method of Claim 1 further comprising:
receiving the graphical representation of the action regarding the storage system as an input;
decoding the encoded action regarding the storage system represented by the graphical representation; and
performing the action regarding the storage system.
3. The method of Claim 2
wherein determining an action regarding a storage system comprises determining a storage system command for performing on the storage system; wherein encoding the action regarding the storage system comprises encoding the storage system command for performing on the storage system; wherein representing the action regarding the storage system as a graphical representation comprises representing the storage system command as a graphical representation;
wherein receiving the graphical representation of the action regarding the storage system as an input comprises receiving the graphical representation of the storage system command as an input;
wherein decoding the encoded action regarding the storage system represented by the graphical representation comprises decoding the encoded storage system command represented by the graphical representation; and
wherein performing the action regarding the storage system comprises performing the storage system command on the storage system.
The method of Claim 3
wherein decoding the encoded storage system command represented by the graphical representation generates an executable sequence of one or more storage system commands; and
wherein performing the storage system command on the storage system comprises receiving the executable sequence of one or more storage system commands via a management interface to the storage system.
The method of Claim 2 wherein determining an action regarding a storage system comprises determining a configuration of the storage system;
wherein encoding the action regarding the storage system comprises encoding the configuration of the storage system;
wherein representing the action regarding the storage system as a graphical representation comprises representing the configuration of the storage system as a graphical representation;
wherein receiving the graphical representation of the action regarding the storage system as an input comprises receiving the graphical representation of the configuration of the storage system as an input;
wherein decoding the encoded action regarding the storage system represented by the graphical representation comprises decoding the encoded configuration of the storage system represented by the graphical representation; and
wherein performing the action regarding the storage system comprises configuring the storage system according to the configuration of the storage system.
6. The method of Claim 5 wherein the configuration of the storage system is
generated by an advisory tool configured to provide one or more of capacity and performance capabilities for the storage system.
The method of Claim 2
wherein determining an action regarding a storage system comprises determining a configuration of the storage system;
wherein encoding the action regarding the storage system comprises encoding the configuration of the storage system;
wherein representing the action regarding the storage system as a graphical representation comprises representing the configuration of the storage system as a graphical representation;
wherein receiving the graphical representation of the action regarding the storage system as an input comprises receiving the graphical representation of the configuration of the storage system as an input;
wherein decoding the encoded action regarding the storage system represented by the graphical representation comprises decoding the encoded configuration of the storage system represented by the graphical representation; and
wherein performing the action regarding the storage system comprises inputting the configuration of the storage system into a purchasing system.
The method of Claim 2 wherein the graphical representation is a matrix barcode.
The method of Claim 2 wherein encoding the action regarding the storage system comprises encrypting the action regarding the storage system.
10. The method of Claim 2 wherein encoding the action regarding the storage system comprises encoding a pointer to an external storage location storing the action regarding the storage system..
1 1. An apparatus comprising:
memory;
a processor; and
computer program code that when executed on the processor causes the apparatus to perform the operations of:
determining an action regarding a storage system;
encoding the action regarding the storage system; and
representing the action regarding the storage system as a graphical representation.
12. The apparatus of Claim 1 1 further comprising:
receiving the graphical representation of the action regarding the storage system as an input;
decoding the encoded action regarding the storage system represented by the graphical representation; and
performing the action regarding the storage system.
13. The apparatus of Claim 12 wherein determining an action regarding a storage system comprises determining a storage system command for performing on the storage system; wherein encoding the action regarding the storage system comprises encoding the storage system command for performing on the storage system; wherein representing the action regarding the storage system as a graphical representation comprises representing the storage system command as a graphical representation;
wherein receiving the graphical representation of the action regarding the storage system as an input comprises receiving the graphical representation of the storage system command as an input;
wherein decoding the encoded action regarding the storage system represented by the graphical representation comprises decoding the encoded storage system command represented by the graphical representation; and
wherein performing the action regarding the storage system comprises performing the storage system command on the storage system..
14. The apparatus of Claim 13
wherein decoding the encoded storage system command represented by the graphical representation generates an executable sequence of one or more storage system commands; and wherein performing the storage system command on the storage system comprises receiving the executable sequence of one or more storage system commands via a management interface to the storage system.
15. The apparatus of Claim 12
wherein determining an action regarding a storage system comprises determining a configuration of the storage system;
wherein encoding the action regarding the storage system comprises encoding the configuration of the storage system;
wherein representing the action regarding the storage system as a graphical representation comprises representing the configuration of the storage system as a graphical representation;
wherein receiving the graphical representation of the action regarding the storage system as an input comprises receiving the graphical representation of the configuration of the storage system as an input;
wherein decoding the encoded action regarding the storage system represented by the graphical representation comprises decoding the encoded configuration of the storage system represented by the graphical representation; and
wherein performing the action regarding the storage system comprises configuring the storage system according to the configuration of the storage system.
16. The apparatus of Claim 15 wherein the configuration of the storage system is generated by an advisory tool configured to provide one or more of capacity and performance capabilities for the storage system.
17. The apparatus of Claim 12
wherein determining an action regarding a storage system comprises determining a configuration of the storage system;
wherein encoding the action regarding the storage system comprises encoding the configuration of the storage system;
wherein representing the action regarding the storage system as a graphical representation comprises representing the configuration of the storage system as a graphical representation;
wherein receiving the graphical representation of the action regarding the storage system as an input comprises receiving the graphical representation of the configuration of the storage system as an input;
wherein decoding the encoded action regarding the storage system represented by the graphical representation comprises decoding the encoded configuration of the storage system represented by the graphical representation; and
wherein performing the action regarding the storage system comprises inputting the configuration of the storage system into a purchasing system.
18. The apparatus of Claim 12 wherein the graphical representation is a matrix barcode.
19. The apparatus of Claim 12 wherein encoding the action regarding the storage system comprises encrypting the action regarding the storage system.
20. The apparatus of Claim 12 wherein encoding the action regarding the storage system comprises encoding a pointer to an external storage location storing the action regarding the storage system.
21. A computer program product have computer program code encoded thereon that when executed by a processor of a computer causes the computer to enable IT appliance control, the computer program code comprising:
computer program code for determining an action regarding a storage system;
computer program code for encoding the action regarding the storage system; and
computer program code for representing the action regarding the storage system as a graphical representation.
PCT/RU2014/001015 2014-12-30 2014-12-30 Method and apparatus for it appliance control Ceased WO2016108718A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/318,111 US10359934B2 (en) 2014-12-30 2014-12-30 Method and apparatus for IT appliance control
PCT/RU2014/001015 WO2016108718A1 (en) 2014-12-30 2014-12-30 Method and apparatus for it appliance control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2014/001015 WO2016108718A1 (en) 2014-12-30 2014-12-30 Method and apparatus for it appliance control

Publications (1)

Publication Number Publication Date
WO2016108718A1 true WO2016108718A1 (en) 2016-07-07

Family

ID=53836796

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2014/001015 Ceased WO2016108718A1 (en) 2014-12-30 2014-12-30 Method and apparatus for it appliance control

Country Status (2)

Country Link
US (1) US10359934B2 (en)
WO (1) WO2016108718A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104132A1 (en) 2017-11-22 2019-05-31 Alibaba Group Holding Limited Two-dimensional code generation method, two-dimensional code processing method, apparatus, device, and two-dimensional code

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10298455B2 (en) * 2015-09-14 2019-05-21 Ricoh Company, Ltd. Data processing system, data processing control apparatus, and data processing control method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5691527A (en) 1994-12-26 1997-11-25 Nippondenso Co., Ltd. Two dimensional code reading apparatus
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
US7032823B2 (en) 2003-01-30 2006-04-25 Denso Wave Incorporated Two-dimensional code, methods and apparatuses for generating, displaying and reading the same
EP1764321A1 (en) * 2004-05-31 2007-03-21 Densei-Lambda K.K. Product management system
DE102011107839A1 (en) * 2011-07-01 2013-01-03 Carsten Koch Optoelectronic device for analyzing type and position of e.g. servers in server-rack in large datacenter, has evaluation unit for evaluating server-rack-inner area with respect to optical markers and determining position of components
US20130233916A1 (en) * 2011-07-25 2013-09-12 Minh-Duc Tran Method and system for data management using qr codes
US20140097239A1 (en) * 2012-10-04 2014-04-10 Agco Corporation System and method for using 1d and 2d barcodes in electrical troubleshooting and service parts information
US8782341B1 (en) 2012-06-29 2014-07-15 Emc Corporation Embedded advisory framework for storage configuration management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5732271A (en) * 1995-01-23 1998-03-24 International Business Machines Corporation Data processing system and method for processing an object oriented development environment employing property inheritance using prototypical objects
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US20070027964A1 (en) * 2005-07-28 2007-02-01 Allan Herrod System and method for rapid deployment of network appliances and infrastructure devices
US8209356B1 (en) * 2008-01-14 2012-06-26 Marvell International Ltd. Direct command line parser
JP2011028351A (en) * 2009-07-22 2011-02-10 Shinsedai Kk Remote code reader system, host computer for the same, code reader, code collection processing method, computer program, and recording medium with the same recorded
US20110226850A1 (en) * 2010-03-17 2011-09-22 Jay Ungos Online barcode directory and systems for facilitating transactions utilizing the same
US8959191B2 (en) * 2012-04-06 2015-02-17 Hewlett-Packard Development Company, L.P. Script modification suggestion
US8820629B1 (en) * 2013-02-27 2014-09-02 International Business Machines Corporation Barcode scanning for communication

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
US5691527A (en) 1994-12-26 1997-11-25 Nippondenso Co., Ltd. Two dimensional code reading apparatus
US7032823B2 (en) 2003-01-30 2006-04-25 Denso Wave Incorporated Two-dimensional code, methods and apparatuses for generating, displaying and reading the same
EP1764321A1 (en) * 2004-05-31 2007-03-21 Densei-Lambda K.K. Product management system
DE102011107839A1 (en) * 2011-07-01 2013-01-03 Carsten Koch Optoelectronic device for analyzing type and position of e.g. servers in server-rack in large datacenter, has evaluation unit for evaluating server-rack-inner area with respect to optical markers and determining position of components
US20130233916A1 (en) * 2011-07-25 2013-09-12 Minh-Duc Tran Method and system for data management using qr codes
US8782341B1 (en) 2012-06-29 2014-07-15 Emc Corporation Embedded advisory framework for storage configuration management
US20140097239A1 (en) * 2012-10-04 2014-04-10 Agco Corporation System and method for using 1d and 2d barcodes in electrical troubleshooting and service parts information

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019104132A1 (en) 2017-11-22 2019-05-31 Alibaba Group Holding Limited Two-dimensional code generation method, two-dimensional code processing method, apparatus, device, and two-dimensional code
EP3625708A4 (en) * 2017-11-22 2020-11-11 Alibaba Group Holding Limited METHOD FOR GENERATING A TWO-DIMENSIONAL CODE, METHOD FOR PROCESSING A TWO-DIMENSIONAL CODE, DEVICE, DEVICE AND TWO-DIMENSIONAL CODE
US11003879B2 (en) 2017-11-22 2021-05-11 Advanced New Technologies Co., Ltd. Two-dimensional code generation and processing

Also Published As

Publication number Publication date
US20170139599A1 (en) 2017-05-18
US10359934B2 (en) 2019-07-23

Similar Documents

Publication Publication Date Title
US12450630B2 (en) Multi-mode point-of-sale device
US11651084B2 (en) Methods and systems for determining software risk scores
USRE42382E1 (en) Volume mount authentication
US20230169503A1 (en) Systems and methods for near field contactless card communication and cryptographic authentication
WO2021188356A1 (en) Evaluation rating of a system or portion thereof
US20150199882A1 (en) Multi-mode point-of-sale device
US20150199667A1 (en) Cloud-based point-of-sale platform
US9823997B2 (en) Production resiliency testing system
KR20240025803A (en) Ordering Method For Restaurant Using an Identification Code
CN109670606A (en) Fault ticket configuration method, device, commodity after-sale management system and associated component
US10359934B2 (en) Method and apparatus for IT appliance control
US12061688B2 (en) Device provisioning using secure credentials for a first deployment
US20170109046A1 (en) Preserving virtual product data in a computer system
CN113168315A (en) Upgrading based on analysis from multiple sources
US20230136532A1 (en) System for Generating Data Center Asset Configuration Recommendations
TW201602940A (en) Point of sale system and operation method thereof
US20220222736A1 (en) Systems and methods for electronic subscription management
US20140032370A1 (en) Automatically Linking Product Serial Numbers
US9424406B2 (en) Asset protection based on redundantly associated trusted entitlement verification
EP2814219A1 (en) Setting-data encrypting apparatus, information processing apparatus, setting changing method, setting-data encrypting program, and setting changing program
JP7826245B2 (en) Fault response support device and fault response support method
US20100211734A1 (en) Maintaining method for external controller-based storage apparatus and maintenance system for storage apparatus
CN110989928B (en) Management method and management device for storage unit in RAID0
US20210326198A1 (en) Systems and methods for preventing fraudulent exchanges of information handling system components
US20190095058A1 (en) Determining a user interface

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: 14882790

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15318111

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14882790

Country of ref document: EP

Kind code of ref document: A1