WO2016108718A1 - Method and apparatus for it appliance control - Google Patents
Method and apparatus for it appliance control Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D 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
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.
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)
| 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)
| 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)
| 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)
| 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 |
-
2014
- 2014-12-30 WO PCT/RU2014/001015 patent/WO2016108718A1/en not_active Ceased
- 2014-12-30 US US15/318,111 patent/US10359934B2/en active Active
Patent Citations (8)
| 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)
| 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 |