Patents by Inventor Norman M. Miles

Norman M. Miles has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11388164
    Abstract: Techniques are provided to implement distributed application programming interface (API) whitelisting for access control of a computing system. For example, an API gateway receives a client API request to access an application comprising a distributed microservices architecture. The API gateway initiates a whitelisting validation operation determine if the client API request is permitted. The whitelisting validation operation includes comparing an API endpoint of the client API request to a whitelist of permitted API endpoints of registered microservices of the application to determine whether the API endpoint of the client API request comprises a permitted API endpoint in the whitelist. The API gateway routes the client API request to a target microservice of the application, in response to the whitelisting validation operation determining that the client API request is permitted.
    Type: Grant
    Filed: August 2, 2019
    Date of Patent: July 12, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Scott E. Joyce, Norman M. Miles
  • Patent number: 11132278
    Abstract: Techniques are provided to implement application programming interface (API) security validation testing for system integration testing (SIT) in a continuous integration environment. For example, a SIT tool detects a change in master code associated with an application comprising a plurality of microservices and an API gateway to route client API requests to the microservices of the application. The SIT tool obtains a listing of API endpoints exposed by the microservices of the application. The SIT tool performs an automated API security test validation process to determine whether an API security test file has been created for each API endpoint in the listing of API endpoints. The SIT tool fails the API security test validation process in response to determining that an API security test file has not be created for one or more API endpoints in the listing of API endpoints.
    Type: Grant
    Filed: August 5, 2019
    Date of Patent: September 28, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Scott E. Joyce, Norman M. Miles, Munish T. Desai, Yingying Wang Martin, Dan Yuan
  • Patent number: 11044188
    Abstract: Techniques are provided for automatically testing and verifying the functionality of push notification services of a cloud computing system. For example, a computing system performs an automated push notification test to test a push notification service of the computing system. The computing system sends a test push message over a communications network to a plurality of test devices that are located in different geolocations. The test devices are configured to automatically generate a response message in response to receiving the test push message. The computing system determines if a response message is received from each test device within a predefined response timeout period associated with the test device. The computing system determines that the push notification test fails in response to determining that a response message is not received from at least one test device within the predefined response timeout period associated with the at least one test device.
    Type: Grant
    Filed: November 1, 2019
    Date of Patent: June 22, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Yingying Wang Martin, Scott E. Joyce, Scott R. Akerman, Norman M. Miles, Dan Yuan
  • Publication number: 20210135971
    Abstract: Techniques are provided for automatically testing and verifying the functionality of push notification services of a cloud computing system. For example, a computing system performs an automated push notification test to test a push notification service of the computing system. The computing system sends a test push message over a communications network to a plurality of test devices that are located in different geolocations. The test devices are configured to automatically generate a response message in response to receiving the test push message. The computing system determines if a response message is received from each test device within a predefined response timeout period associated with the test device. The computing system determines that the push notification test fails in response to determining that a response message is not received from at least one test device within the predefined response timeout period associated with the at least one test device.
    Type: Application
    Filed: November 1, 2019
    Publication date: May 6, 2021
    Inventors: Yingying Wang Martin, Scott E. Joyce, Scott R. Akerman, Norman M. Miles, Dan Yuan
  • Publication number: 20210042207
    Abstract: Techniques are provided to implement application programming interface (API) security validation testing for system integration testing (SIT) in a continuous integration environment. For example, a SIT tool detects a change in master code associated with an application comprising a plurality of microservices and an API gateway to route client API requests to the microservices of the application. The SIT tool obtains a listing of API endpoints exposed by the microservices of the application. The SIT tool performs an automated API security test validation process to determine whether an API security test file has been created for each API endpoint in the listing of API endpoints. The SIT tool fails the API security test validation process in response to determining that an API security test file has not be created for one or more API endpoints in the listing of API endpoints.
    Type: Application
    Filed: August 5, 2019
    Publication date: February 11, 2021
    Inventors: Scott E. Joyce, Norman M. Miles, Munish T. Desai, Yingying Wang Martin, Dan Yuan
  • Publication number: 20210037018
    Abstract: Techniques are provided to implement distributed application programming interface (API) whitelisting for access control of a computing system. For example, an API gateway receives a client API request to access an application comprising a distributed microservices architecture. The API gateway initiates a whitelisting validation operation determine if the client API request is permitted. The whitelisting validation operation includes comparing an API endpoint of the client API request to a whitelist of permitted API endpoints of registered microservices of the application to determine whether the API endpoint of the client API request comprises a permitted API endpoint in the whitelist. The API gateway routes the client API request to a target microservice of the application, in response to the whitelisting validation operation determining that the client API request is permitted.
    Type: Application
    Filed: August 2, 2019
    Publication date: February 4, 2021
    Inventors: Scott E. Joyce, Norman M. Miles
  • Patent number: 10809868
    Abstract: Techniques for determining a view state for a user interface element are described. A first value for a feature key associated with the user interface element is determined in accordance with feature level criteria and a current context. The first value denotes a first view state for the user interface element. A second value for a second view state for the user interface element is determined in accordance with user interface element level criteria and the current context. A final view state for the user interface element is determined in accordance with the first view state and the second view state. The user interface element is rendered in a user interface in accordance with the final view state.
    Type: Grant
    Filed: December 22, 2014
    Date of Patent: October 20, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Scott E. Joyce, Timothy J. Cox, Norman M. Miles, Donald E. Labaj, Nancy Welch
  • Patent number: 10698706
    Abstract: Described are techniques for customizing a help system. A help system may be received providing help for a product. A proficiency level for a user may be determined in accordance with one or more proficiency criteria including one or more previous interactions of the user with any of the help system and performing an operation using a non-help feature of the product. A customized help system for the user may be determined for the user in accordance with the proficiency level for the user, wherein the customized help system is a modified version of the help system.
    Type: Grant
    Filed: December 24, 2013
    Date of Patent: June 30, 2020
    Assignee: EMC IP Holding Company LLC
    Inventors: Bruce R. Rabe, Scott E. Joyce, Norman M. Miles, Kendra Marchant, Rhon L. Porter
  • Patent number: 10482194
    Abstract: Described are techniques for processing a request. Data storage system configuration information is provided which is used by a simulator that simulates a data storage system configuration of a data storage system. A request is received to perform an operation with respect to the data storage system configuration being simulated. The request identifies an object included in the data storage system configuration information used to simulate the data storage system configuration. First processing is performed to simulate servicing the request using the data storage system configuration information and the first processing includes determining, at run time while processing the request, whether the object includes a first object property that is a reference to an embedded object.
    Type: Grant
    Filed: December 17, 2013
    Date of Patent: November 19, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Donald E. Labaj, Norman M. Miles, Scott E. Joyce, Timothy J. Cox
  • Patent number: 10282076
    Abstract: Described are techniques for rendering a user interface display of an application. Inputs are provided to a mapping engine. The inputs may include environmental inputs, profiles (including customized user maps), capabilities, storage management patterns or maps, and historical data. The mapping engine determines, in accordance with the inputs, a set of operations relevant to a user that interacts with a user interface of the application at a current point in time. The set of operations may define a subset of functionality of the application customized for the user. A set of user interface elements may be rendered where the user interface elements rendered correspond to the set of operations relevant to the user.
    Type: Grant
    Filed: June 29, 2015
    Date of Patent: May 7, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Munish T. Desai, Scott E. Joyce, Timothy J. Cox, Norman M. Miles
  • Patent number: 10146514
    Abstract: Described are techniques for displaying a user interface of an application. A property file identifies a user interface element included in the user interface and specifies a first value for a first property of the user interface element. Executing the application includes: creating the user interface element having a set of properties and a default value for each property in the set; obtaining and processing the property file, setting the first property to the first value rather than the default value, wherein if the first value is not specified in the property file, the first property is set to the default value; and displaying the user interface including the user interface element in accordance with the first value.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: December 4, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Scott E. Joyce, Munish Desai, Sreenath Rajagopal, Norman M. Miles, Hongzhen Zhang
  • Patent number: 9864739
    Abstract: A method provides automatic layout of GUI screens based on contents of a response to a resource request. A display format is selected based on whether a resource in the response includes only a single data object (form display format) or an array of data objects (table display format). A specification is then created for a display object of the selected display format to be rendered on a GUI screen. For the form display format, the specification includes label:value pairs and location information specifying locations for the pairs in form columns. For the table display format, the specification includes a table definition (number of columns, column headings etc.) and row data values for the data objects of the array. Values are arranged in a display order of the resource fields in the response.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: January 9, 2018
    Assignee: EMC IP Holding Company LLC
    Inventors: Bruce R. Rabe, Scott E. Joyce, Norman M. Miles
  • Patent number: 9690444
    Abstract: A method delivers a help process customized for a particular operating environment using a help system that initially has more generic content. The method includes obtaining system-specific information about a target system. A wrapper is instantiated by invoking it with the system-specific information as invocation parameters, the wrapper providing wrapper methods for modifying help content files of the help system that initially store the more generic content. The wrapper then (1) instantiates the help system, and (2) uses the wrapper methods to modify the help content files based on the invocation parameters to include the system-specific information instead of or in addition to the more generic content. The help system subsequently uses the help content files as modified in subsequent operation. In operation, the help system reflects the system-specific information, providing desirable customized functionality while leveraging automated design tools used to generate the more generic help system content.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: June 27, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Scott E. Joyce, Norman M. Miles, Bruce R. Rabe
  • Patent number: 9558445
    Abstract: Described are techniques for processing inputs. A plurality of rules engines is provided. Each of the rules engines is written in a different programming language. Input validation processing is performed of a first set of one or more inputs by a first of the plurality of rules engines using a first portion of a set of validation rules. Input validation processing is performed for the first set of one or more inputs by a second of the plurality of rules engines using the first portion of validation rules.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: January 31, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Bruce R. Rabe, Scott E. Joyce, Norman M. Miles, Peter Chen
  • Patent number: 9535977
    Abstract: A client device of a data storage system is configured to generate an aggregate object class request, or view class request, that relates to multiple objects stored by an object storage device. The aggregate object class request represents a view of the object model stored by the object storage device in a format that is specific to the perspective of the client device. In response to receiving the aggregate property file, such as from the client device, the object storage device accesses the property files associated with each of the metadata tags, retrieves the corresponding object data, and identifies the object data to the client device. With such a configuration, use of the aggregate object class request allows the client device to receive object data associated with multiple object classes with a single request or call to the object storage device.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: January 3, 2017
    Assignee: EMC IP Holding Company LLC
    Inventors: Scott E. Joyce, Norman M. Miles
  • Patent number: 9348888
    Abstract: A computerized device filters a set of first data objects each including primitive-valued fields and object-valued fields each specifying a respective second data object as an embedded object. A filter object specifies filter criteria as a set of filter expressions. Each first data object and its respective embedded second filter objects are processed according to the filter expressions. The processing includes iterated execution of a filter expression loop, a first iteration producing a first filter test result for each primitive-valued field of the first data object and initiating a second iteration for each object-valued field of the first data object, and the second iteration producing a second filter test result for each primitive-valued field of the respective embedded second filter object. A given first data object is included in a final set of filtered objects only if both the first and second filter test results are success test results.
    Type: Grant
    Filed: September 24, 2013
    Date of Patent: May 24, 2016
    Assignee: EMC Corporation
    Inventors: Donald E. Labaj, Norman M. Miles, Scott E. Joyce, Timothy Cox
  • Patent number: 9256651
    Abstract: A method is provided of displaying a GUI of a first dialog. The method includes, for a localizable display element of a set of localizable display elements of the first dialog, each element having an element name, (a) searching through a first chain of properties files of the first dialog for a display term mapped to by the element, (b) in response, determining that the display term is not found within the first chain, (c) in response, further searching through a second chain of properties files associated with a second dialog for the display term, the first chain being pre-configured to inherit properties from the second chain, and (d) when the display term is found within the second chain, displaying the display term found within the second chain in place of the localizable display element of the first dialog box on the GUI of the first dialog.
    Type: Grant
    Filed: September 24, 2013
    Date of Patent: February 9, 2016
    Assignee: EMC Corporation
    Inventors: Scott E. Joyce, Timothy Cox, Donald Labaj, Norman M. Miles
  • Patent number: 9201573
    Abstract: One embodiment is directed to a method performed by a computing device. The method includes (1) receiving a command from a user to initiate a graphical user interface (GUI) session on a client device, the GUI session providing the user with control over a system via a set of GUI pages, (2) selecting, with reference to user profile data associated with the user, a strict subset of the set of GUI pages, the user profile data indicating a plurality of GUI pages of the set of GUI pages that the user has accessed in previous GUI sessions, the strict subset consisting of the plurality of GUI pages, and (3) causing the plurality of GUI pages of the strict subset to be pre-fetched into memory of the client device, the pre-fetched pages being accessible by the user faster than GUI pages which have not been pre-fetched.
    Type: Grant
    Filed: March 15, 2013
    Date of Patent: December 1, 2015
    Assignee: EMC Corporation
    Inventors: Norman M. Miles, Scott E. Joyce, Bruce R. Rabe
  • Patent number: 9158729
    Abstract: Described are techniques for processing a request. The request is sent from a command layer to a protocol abstraction layer. The request is to perform an operation on a first object of a first object type and the request includes one or more parameters. The protocol abstraction layer selects a first of a plurality of protocols and a first of a plurality of runtime paths for processing the request. The first protocol is selected in accordance with criteria including any one or more of the first object type, the operation being requested, and the one or more parameters. The request is processed in accordance with the first protocol and the first runtime path.
    Type: Grant
    Filed: September 25, 2012
    Date of Patent: October 13, 2015
    Assignee: EMC Corporation
    Inventors: Scott E. Joyce, Bruce R. Rabe, Norman M. Miles
  • Patent number: 8924595
    Abstract: Described are techniques for servicing command requests. A first command request is received. A determining step is performed to determine whether to simulate servicing the first command request using a simulator or whether to service the first command by processing in accordance with a non-simulation mode. The first command request is one of a plurality of command requests, and a first portion of the plurality of command requests are simulated whereby the first portion of commands are serviced using the simulator and a second portion of the command requests are serviced in the non-simulation mode. The first command request is serviced in accordance with the determining step.
    Type: Grant
    Filed: March 13, 2013
    Date of Patent: December 30, 2014
    Assignee: EMC Corporation
    Inventors: Scott E. Joyce, Norman M. Miles, Donald E. Labaj, Timothy J. Cox