Patents by Inventor Ruben Michel

Ruben Michel 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: 11222017
    Abstract: A storage system query mechanism and corresponding techniques for implementing queries are provided. In one exemplary method, queries are processed by providing a server-side meta-model for creating queries on the server; and providing a client-side meta-model for creating queries on the client, wherein the client and the server are based on different programming languages and wherein the queries created on the client are translated from a language of the client into a language of the server for processing by the server. The query results are optionally converted to data transfer objects for presentation on the client. In an exemplary query service method, at least one base meta-model is provided having a plurality of base classes and a domain-specific injection point; and at least one domain-specific meta-model is received and injected into the base meta-model at the domain-specific injection point.
    Type: Grant
    Filed: March 29, 2019
    Date of Patent: January 11, 2022
    Assignee: EMC IP Holding Company LLC
    Inventors: Ilya Liubovich, Ruben Michel, Satish Suryanarayan, Ohad Zeliger
  • Patent number: 11144551
    Abstract: A storage system query mechanism and corresponding techniques for implementing queries are provided. In an exemplary method, control path data in a storage array is processed by obtaining an object model (OM) data object comprising retrieved control path data upon an initial user request; storing the OM data object in a cache using one or more façade data classes; employing a refresh service to listen to refresh events that impact a validity of the OM data object, wherein the OM data object is evicted from the cache when the validity of the OM data object is impacted by one of the refresh events; and delivering the OM data object from the cache upon a subsequent user request if the OM data object remains in the cache at a time of the subsequent user request.
    Type: Grant
    Filed: March 29, 2019
    Date of Patent: October 12, 2021
    Assignee: EMC IP Holding Company LLC
    Inventors: Ilya Liubovich, Ruben Michel, Satish Suryanarayan, Ohad Zeliger
  • Publication number: 20190236066
    Abstract: A storage system query mechanism and corresponding techniques for implementing queries are provided. In an exemplary method, control path data in a storage array is processed by obtaining an object model (OM) data object comprising retrieved control path data upon an initial user request; storing the OM data object in a cache using one or more façade data classes; employing a refresh service to listen to refresh events that impact a validity of the OM data object, wherein the OM data object is evicted from the cache when the validity of the OM data object is impacted by one of the refresh events; and delivering the OM data object from the cache upon a subsequent user request if the OM data object remains in the cache at a time of the subsequent user request.
    Type: Application
    Filed: March 29, 2019
    Publication date: August 1, 2019
    Inventors: Ilya Liubovich, Ruben Michel, Satish Suryanarayan, Ohad Zeliger
  • Publication number: 20190236067
    Abstract: A storage system query mechanism and corresponding techniques for implementing queries are provided. In one exemplary method, queries are processed by providing a server-side meta-model for creating queries on the server; and providing a client-side meta-model for creating queries on the client, wherein the client and the server are based on different programming languages and wherein the queries created on the client are translated from a language of the client into a language of the server for processing by the server. The query results are optionally converted to data transfer objects for presentation on the client. In an exemplary query service method, at least one base meta-model is provided having a plurality of base classes and a domain-specific injection point; and at least one domain specific meta-model is received and injected into the base meta-model at the domain-specific injection point.
    Type: Application
    Filed: March 29, 2019
    Publication date: August 1, 2019
    Inventors: Ilya Liubovich, Ruben Michel, Satish Suryanarayan, Ohad Zeliger
  • Patent number: 10296618
    Abstract: A storage system query mechanism and corresponding techniques for implementing queries are provided. Queries can be created on a client and server, where the client and the server are based on different programming languages, by providing a server-side meta-model and client-side meta-model. A base meta-model is provided having a plurality of base classes and a domain-specific injection point to allow domain specific meta-models to be injected into the base meta-model. Domain-specific query executors can be employed to process a query. Techniques are also provided for caching control path data in a storage array using one or more façade data classes and a refresh service to listen to refresh events that impact a validity of the cached data objects. Applications can optionally register domain specific query executors, object model providers and/or class loaders. Query results can be presented on a client device by providing a declarative data grid component as part of a graphical user interface.
    Type: Grant
    Filed: May 20, 2014
    Date of Patent: May 21, 2019
    Assignee: EMC IP Holding Company LLC
    Inventors: Ilya Liubovich, Ruben Michel, Satish Suryanarayan, Ohad Zeliger
  • Patent number: 9064046
    Abstract: A method, apparatus and computer program product for using correlated stack traces to determine faults in client/server software is presented. Client/server software is executed. A client call stack is maintained on the client and a server call stack is maintained on the server. When an unexpected occurrence is detected while running the client/server software then the client call stack is collected, as is the server call stack. The client call stack and the server call stack are correlated to produce a correlated call stack and the correlated call stack is provided to a user.
    Type: Grant
    Filed: January 4, 2006
    Date of Patent: June 23, 2015
    Assignee: EMC Corporation
    Inventors: Richard Francis Cormier, Ruben Michel
  • Patent number: 7849469
    Abstract: A system uses generative aspect oriented programming to propagating context between components in a component server, the system produces code that, when executed, implicitly propagates authenticating context between a client component and an invoked component which the client component invokes in a component server. The system generates a function that allows the specification of a timeout between the client component and the invoked component that the client component invokes in the component server. The timeout function receives a user-defined timeout value to be applied for interface invocations between the client component and the invoked component. The system further generates a function declaration that, upon execution, discloses a target component identity between a client component and an invoked component that the client component invokes in the component server.
    Type: Grant
    Filed: January 4, 2006
    Date of Patent: December 7, 2010
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Stanislav Sosnovsky, Richard Francis Cormier, Vitaly Rozenman
  • Patent number: 7797675
    Abstract: A system produces a component framework that insulates components from an underlying communication infrastructure by receiving a component descriptor that specifies fundamental properties of a component and receiving a definition of remotable interfaces associated with the component. A generation tool emits a component framework that includes: i) a coInterface interface that exposes the component's remotable interfaces; ii) a coFactories interface that declares factories for component operation; iii) a template for a coClass class, the coClass class operable to receive developer programmed functionality; and iv) a coBridge class that extends the coClass class and functions as a morphism from an IDL-defined component to an object model based, middleware-independent component.
    Type: Grant
    Filed: May 25, 2005
    Date of Patent: September 14, 2010
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Stanislav Sosnovsky, Ilya Liubovich, Richard Francis Cormier
  • Patent number: 7788677
    Abstract: A code generator generates component controllers by receiving, as input, an identity of a component and identities of dependent components of the component and applying a categorical-based generator that applies at least one morphism to generate at least one component controller to manage both collocated and remote access to the dependent components of the component in a strongly typed manner. Application of the categorical based generator includes generating at least one service-component controller for controlling service components that, during operation, are instantiated upon component server initialization to provide services to other components during component server operation and generating at least one session-component controller for controlling session components instantiated, utilized for services during a session, and terminated as needed by other components.
    Type: Grant
    Filed: January 4, 2006
    Date of Patent: August 31, 2010
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Stanislav Sosnovsky, Richard Francis Cormier
  • Patent number: 7673285
    Abstract: A system provides a generation tool that emits a method declaration in a coFactory, and further emits the method's definition in a coBridge. Locating a naming service is delegated to a server infrastructure, and names of the sought after interface and the required component are further emitted. The generative approach disclosed assures a proper type of a downcast. Errors are handled by throwing an exception if either the component or its interface is absent. The coClass implements the coFactories, and a developer of a component can access other component by simply invoking a method within the coClass, which is implemented in a coBridge.
    Type: Grant
    Filed: June 24, 2005
    Date of Patent: March 2, 2010
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Stanislav Sosnovsky, Richard F. Cormier, Ilya Liubovich
  • Patent number: 7640533
    Abstract: A software build framework includes and architecture to identify software components including sets of classes, or objects, and categorizes the objects into layers in the component. A set of build rules identifies allowable dependencies between the component layers among the same and other components in the system, as well as external entities such as off the shelf (OTS) and third party vendor products outside the development control. The build mechanism enumerates a set of dependencies for each of the components, and an enforcer analyzes the dependencies to identify dependencies in violation of the rules. The enforcer separates the compile time and runtime inheritance paths to detect indirect monolithic inheritance. In this manner, dependency rules define an efficient and optimal architecture which lends itself well to modifications, timely builds and deliverable releases, and enforces the dependency rules at compile time so as to avoid generating an obsolete or suspect build.
    Type: Grant
    Filed: March 30, 2005
    Date of Patent: December 29, 2009
    Assignee: EMC Corporation
    Inventors: Dan Lottero, Stanislav Sosnovsky, Ruben Michel, Richard Francis Cormier, Ilya Liubovich
  • Patent number: 7596572
    Abstract: A system provides categorical mapping of valuetypes by receiving, as input, a valuetype within an object model specification. The system applies a categorical-based generator that applies at least one morphism to the object model specification. Application of the categorical-based generator generates an interface that exposes the valuetype in an interface object model and generates an implementation of the interface that exposes the valuetype in a middleware implementation object model. The interface and its implementation seamlessly support valuetype properties including inheritance, null values, native casting and arbitrary graph communication.
    Type: Grant
    Filed: January 3, 2006
    Date of Patent: September 29, 2009
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Stanislav Sosnovsky, Richard Francis Cormier, Vitaly Rozenman
  • Patent number: 7590714
    Abstract: Conventional development architectures for software system development employ varied invocation and triggering mechanisms for various objects and processes, such as services. Integrating new services tends to impose substantial changes in multiple code objects, requires retroactive testing, and increases the risk of failure. A services architecture in which users of a service seamlessly employ a respective service using only the objects, classes, and entities germane to the service usage provides interprocess module and service entity invocation. Extraneous definitions and functions, such as housekeeping relating to activation and passivation, location (module or component) of the service, and memory allocation, are removed from the user view. The architecture provides for automatic activation in the event components for providing the service have been passivated. Invocation requests are mapped across modules to the appropriate service entities.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: September 15, 2009
    Assignee: EMC Corporation
    Inventors: Stanislav Sosnovsky, Ruben Michel, Ilya Liubovich
  • Patent number: 7559065
    Abstract: In a conventional managed information environment network, event notification mechanisms typically monitor the various nodes and interconnections in the network. In particular configurations of the invention, an event service infrastructure allows an event, or class definition, to define the event and related event data. Invocation of the event includes only the event specific class definition. The infrastructure transparently processes the subsequent reporting and invocation of the appropriate event handler. The event handler, corresponding to the event definition, performs remedial and responsive processing of the event. A developer need only develop entities to subscribe to an event to identify the appropriate handler, and publish the event with any related event data upon detection. Each particular event avoids extraneous event definitions and associated files, thereby relieving the developer from unrelated events and allowing focus on the pertinent events.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: July 7, 2009
    Assignee: EMC Corporation
    Inventors: Stanislav Sosnovsky, Ruben Michel, Ilya Liubovich
  • Patent number: 7552446
    Abstract: Complex software systems often require time-based processing, such as delayed or periodic timer event handling. A timer service provides an Application Programming Interface (API) for managing timers, and therefore provides a developer abstraction for representing time-based processing. In operation, the timer service infrastructure employs a plurality of timer events, each having a corresponding timer handler, in which each of the timer events is associated with a generic timer reference, employed by a timer interface. The generic reference, therefore, may refer to any of the plurality of timers. The timer service may disable, or passivate modules including subscribers having timer handlers without disrupting timer continuity and invocation. Upon timer expiration, the timer service enables modules having subscribers to the timer. The timer service therefore seamlessly enables inactive modules upon timer expiration.
    Type: Grant
    Filed: December 31, 2003
    Date of Patent: June 23, 2009
    Assignee: EMC Corporation
    Inventors: Stanislav Sosnovsky, Ruben Michel, Ilya Liubovich
  • Patent number: 7546309
    Abstract: A system abstracts an object model by receiving an object model specification defining application semantics for an application to access, via invocations, objects identified in the object model specification. The system applies a categorical-based generator that applies at least one morphism to the object model specification to generate an abstraction interface object model that preserves application semantics defined within the object model specification and is independent of a middleware object access mechanism. The system also generates an implementation of the abstraction interface object model for a particular middleware object access mechanism used to access data within objects corresponding to the object model specification.
    Type: Grant
    Filed: March 31, 2005
    Date of Patent: June 9, 2009
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Stanislav Sosnovsky, Richard Francis Cormier, Ilya Liubovich
  • Patent number: 7113936
    Abstract: Described are techniques for performing compression and decompression of statistical data. This data may be used in connection with performing optimizations. A delta value for each statistic is determined representing a difference between a current value and a previous value. Delta values are stored in a statistics table in a compressed form using a monotonic compression scheme. Small tables are used to determine decompressed values estimating the observed values. Statistical information is stored and represented in a statistics table and an events table. Statistical information is selectively fetched and loaded into memory from a storage device. Indexing techniques are used to force physical continuity of the rows of the statistics table on a storage device in accordance with a specified retrieval order.
    Type: Grant
    Filed: December 6, 2001
    Date of Patent: September 26, 2006
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Ron Arnan, David DesRoches, Victoria Dubrovsky
  • Patent number: 6917569
    Abstract: Optimizing performance of physical disk drives in a disk array storage device with a plurality of logical volumes is accomplished by accumulating statistics over an interval to select two logical volumes for an exchange. After testing to determine any adverse effect of making that change, the exchange occurs to more evenly distribute the loading on individual physical disk storage devices. One set of statistics, seek time, is obtained by combining estimated disk access information and an interpolated seek time obtained from a template that stores characteristics seek times among different pairs of segments that define a physical disk device independently of a logical volume configuration.
    Type: Grant
    Filed: March 31, 2000
    Date of Patent: July 12, 2005
    Assignee: EMC Corporation
    Inventors: Tao Kai Lam, Ruben Michel, Eitan Bachmat
  • Publication number: 20050102467
    Abstract: Optimizing performance of physical disk drives in a disk array storage device with a plurality of logical volumes is accomplished by accumulating statistics over an interval to select two logical volumes for an exchange. After testing to determine any adverse effect of making that change, the exchange occurs to more evenly distribute the loading on individual physical disk storage devices. One set of statistics, seek time, is obtained by combining estimated disk access information and an interpolated seek time obtained from a template that stores characteristics seek times among different pairs of segments that define a physical disk device independently of a logical volume configuration.
    Type: Application
    Filed: December 9, 2004
    Publication date: May 12, 2005
    Inventors: Tao Lam, Ruben Michel, Eitan Bachmat
  • Patent number: 6851019
    Abstract: A process that swaps physical storage volumes. The process performs a number of simple arithmetic operations to find a seek time for B new states of a disk. The number is of order B. Each new state is related to a current state of the disk by a swap with a selected external storage volume. The process also includes swapping one of the storage volumes of the disk with the selected storage volume in response to determining that the state produced by the swap has a smallest seek or access time among the new states.
    Type: Grant
    Filed: March 31, 2000
    Date of Patent: February 1, 2005
    Assignee: EMC Corporation
    Inventors: Ruben Michel, Tao Kai Lam, Eitan Bachmat