Inventor
Lokesh M. Gupta
Inventor
Tucson, AZ, US
Overview
Patents· 478 as inventor
Public. Assignee & technology derived from the patent record. Each patent links to its LexDana page.
G06Fprimary
G06FElectric digital data processing85%
H04LTransmission of digital information, e.g. telegraphic communication6%
G06NComputing arrangements based on specific computational models4%
G11CStatic stores2%
Y02DClimate change mitigation technologies in information and communication technologies [ict], i.e. information and communication technologies aiming at the reduction of their own energy use1%
G11BInformation storage based on relative movement between record carrier and transducer1%
G06QInformation and communication technology [ict] specially adapted for administrative, commercial, financial, managerial or supervisory purposes0%
Y02BClimate change mitigation technologies related to buildings, e.g. housing, house appliances or related end-user applications0%
Y10STechnical subjects covered by former uspc cross-reference art collections [xracs] and digests0%
G06KGraphical data reading0%
PatentTitleYear
11,120,128Offloading processing of writes to determine malicious data from a first storage system to a second storage system202111,119,662Determining when to perform a data integrity check of copies of a data set using a machine learning module202111,119,660Determining when to replace a storage device by training a machine learning module202111,119,673Optimizing synchronous I/O for zHyperLink202111,119,663Determining when to perform a data integrity check of copies of a data set by training a machine learning module202111,119,850Determining when to perform error checking of a storage unit by using a machine learning module202111,119,851Determining when to perform error checking of a storage unit by training a machine learning module202111,099,743Determining when to replace a storage device using a machine learning module202111,093,395Adjusting insertion points used to determine locations in a cache list at which to indicate tracks based on number of tracks added at insertion points202111,093,156Using storage access statistics to determine mirrored extents to migrate from a primary storage system and a secondary storage system to a third storage system202111,093,399Selecting resources to make available in local queues for processors to use202111,086,784Invalidating track format information for tracks in cache202111,086,535Thin provisioning using cloud based ranks202111,080,622Determining sectors of a track to stage into cache by training a machine learning module202111,080,397Using trap cache segments to detect malicious processes202111,080,149Restore current version of a track from a non-volatile storage into a new location in cache202111,074,118Reporting incidents of data loss in RAID arrays202111,074,197Integration of application indicated minimum time to cache and maximum time to cache to least recently used track demoting schemes in a cache management system of a storage controller202111,074,185Adjusting a number of insertion points used to determine locations in a cache list at which to indicate tracks202111,068,417Allocation of cache storage among applications that indicate minimum retention time for tracks in least recently used demoting schemes202111,068,413Allocation of cache storage among applications based on application priority and minimum retention time for tracks in least recently used demoting schemes202111,068,418Determining memory access categories for tasks coded in a computer program202111,068,415Using insertion points to determine locations in a cache list at which to move processed tracks202111,062,232Determining sectors of a track to stage into cache using a machine learning module202111,061,784Monitoring correctable errors on a bus interface to determine whether to redirect input/output request (I/O) traffic to another bus interface202111,061,828Using multi-tiered cache to satisfy input/output requests202111,061,826Integration of application indicated minimum time to cache to least recently used track demoting schemes in a cache management system of a storage controller202111,055,013Recovering from data loss using copy services relationships between volumes202111,055,234Managing allocation and demotion of cache segments between a global queue and a plurality of local queues by training a machine learning module202111,054,994Copy source to target management in a data storage system202111,048,631Maintaining cache hit ratios for insertion points into a cache list to optimize memory allocation to a cache202111,048,667Data re-MRU to improve asynchronous data replication performance202111,049,570Dynamic writes-per-day adjustment for storage drives202111,048,641Managing allocation and demotion of cache segments between a global queue and a plurality of local queues by using a machine learning module202111,042,636Using trap storage units to detect malicious processes202111,036,641Invalidating track format information for tracks demoted from cache202111,036,635Selecting resources to make available in local queues for processors to use202111,029,849Handling cache and non-volatile storage (NVS) out of sync writes202111,030,116Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache202111,030,104Picket fence staging in a multi-tier cache202111,023,029Preventing unexpected power-up failures of hardware components202111,023,383Cache management based on types of I/O operations202111,025,518Communicating health status when a management console is unavailable202111,016,692Dynamically switching between memory copy and memory mapping to optimize I/O performance202111,016,851Determine recovery mechanism in a storage system by training a machine learning module202111,010,248Reuse of resources in a storage controller for executing write commands over a plurality of interfaces202111,010,295Asynchronous update of metadata tracks in response to a cache hit generated via an i/o operation over a bus interface202111,003,777Determining a frequency at which to execute trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code202111,003,496Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance202110,996,891Token management for write commands transmitted by a host over a plurality of interfaces to a storage controller202110,990,481Using alternate recovery actions for initial recovery actions in a computing system202110,983,922Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module202110,983,885Recovering storage devices in a storage array having errors202110,983,913Securing exclusive access to a copy of a metadata track via a process while the metadata track is held in a shared mode by another process202110,983,836Transaction optimization during periods of peak activity202110,976,941Validation of storage volumes that are in a peer to peer remote copy relationship202110,976,940Copy source to target management in a data storage system202110,970,209Destaging metadata tracks from cache202110,963,386Dynamically determining tracks to prestage from storage to cache by training a machine learning module202110,956,046Dynamic I/O load balancing for zHyperLink202110,956,322Storage drive dependent track removal in a cache for storage202110,949,277Monitoring correctable errors on a bus interface to determine whether to redirect input/output (I/O) traffic from a first processing unit to a second processing unit202110,949,366Using a machine learning module to select a priority queue from which to process an input/output (I/O) request202110,949,354Distributed safe data commit in a data storage system202110,942,857Dynamically adjusting a number of memory copy and memory mapping windows to optimize I/O performance202110,929,037Converting a RAID to a more robust RAID level202110,929,057Selecting a disconnect from different types of channel disconnects using a machine learning module202110,929,034Allocation of task control blocks in a storage controller for staging and destaging based on storage rank response time202110,915,462Destaging pinned retryable data in cache202110,901,904Using a machine learning module to perform destages of tracks with holes in a storage system202110,901,916Managing indication of accessed tracks in cache to a most recently used end of a cache list based on accesses to different regions of the cache list202110,901,793Determining whether to process a host request using a machine learning module202110,891,227Determining modified tracks to destage during a cache scan202110,884,849Mirroring information on modified data from a primary storage controller to a secondary storage controller for the secondary storage controller to use to calculate parity data202110,884,936Updating a track format table used to provide track format codes for cache control blocks with more frequently accessed track format metadata202110,866,752Reclaiming storage space in raids made up of heterogeneous storage drives202010,866,901Invalidating CKD data tracks prior to unpinning, wherein upon destaging invalid track image from cache to a track of data on storage drive, the track of data on the storage drive is unpinned which enables destages of data from the cache to the track of data on the storage drive going forward202010,841,395Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server202010,831,668Detection and prevention of deadlock in a storage controller for cache access via a plurality of demote mechanisms202010,831,559Processor thread management202010,834,188Distribution of data in cloud storage based on policies maintained in metadata202010,831,665Preservation of modified cache data in local non-volatile storage following a failover202010,831,597Receiving, at a secondary storage controller, information on modified data from a primary storage controller to use to calculate parity data202010,810,304Injecting trap code in an execution path of a process executing a program to generate a trap address range to detect potential malicious code202010,809,938Synchronized safe data commit scans in multiple data storage systems202010,802,930Determining a recovery mechanism in a storage system using a machine learning module202010,795,602Selectively destaging data updates from write caches across data storage locations202010,783,087Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module202010,783,049Virtual storage drive management in a data storage system202010,776,013Performing workload balancing of tracks in storage areas assigned to processing units202010,768,822Increasing storage capacity in heterogeneous storage arrays202010,761,744Synchronously performing commit records operations202010,754,780Maintaining track format metadata for target tracks in a target storage in a copy relationship with source tracks in a source storage202010,754,895Efficient metadata destage during safe data commit operation202010,747,596Determining when to send message to a computing node to process items using a machine learning module202010,740,007Synchronized primary-secondary role swaps with synchronized safe data commit scans202010,732,884Implementing redundant array of independent disks (RAID) arrays having compressed data stored therein202010,735,394Caching framework for a multi-tenant identity and data security management cloud service202010,735,510Storage and application controller for mirroring and switchover of applications in a plurality of cloud locations via a plurality of configurable security protocols202010,725,776Reducing a rate at which requests are sent from one processor to another to reduce processor utilization at the processor receiving the requests202010,721,304Storage system using cloud storage as a rank202010,691,353Checking of data difference for writes performed via a bus interface to a dual-server storage controller202010,691,609Concurrent data erasure and replacement of processors202010,691,596Integration of the frequency of usage of tracks in a tiered storage system into a cache management system of a storage controller202010,691,518Handling zero fault tolerance events in machines where failure likely results in unacceptable loss202010,691,566Using a track format code in a cache control block for a track in a cache to process read and write requests to the track in the cache202010,671,533Fast cache demotions in storage controllers with metadata202010,671,438Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex202010,664,595Managing reads and writes to data entities experiencing a security breach from a suspicious process202010,664,177Replicating tracks from a first storage site to a second and third storage sites202010,664,187Reducing a rate at which data is mirrored from a primary server to a secondary server202010,659,472Method, system, and computer program product for providing security and responsiveness in cloud based data storage and application execution202010,656,852Performing preprocessing operations in anticipation of log file writes202010,656,848Data loss avoidance in multi-server storage systems202010,642,755Invoking demote threads on processors to demote tracks from a cache based on free cache segments202010,635,537Raid data loss prevention202010,628,241Determining when to send message to computing node to process items by training a machine learning module202010,628,331Demote scan processing to demote tracks from cache202010,613,986Adjustment of the number of tasks for a cache storage scan and destage application based on the type of elements to be destaged from the cache storage202010,613,981Detection and prevention of deadlock in a storage controller for cache access202010,606,826Fixing anomalies in a preserved data structure used to generate a temporary data structure during system initialization202010,606,776Adding dummy requests to a submission queue to manage processing queued requests according to priorities of the queued requests202010,592,156I/O load balancing between virtual storage drives making up raid arrays202010,592,323Requesting manual intervention on failure of initial microcode load attempts during recovery of modified customer data202010,592,432Adjusting active cache size based on cache usage202010,579,476Using alternate recovery actions for initial recovery actions in a computing system202010,579,367Zero down time upgrade for a multi-tenant identity and data security management cloud service202010,579,532Invalidating track format information for tracks in cache202010,581,969Storage system using cloud based ranks as replica storage202010,579,413Efficient task scheduling using a locking mechanism202010,579,296Providing track format information when mirroring updated tracks from a primary storage system to a secondary storage system202010,572,359Validation of data written via two different bus interfaces to a dual server based storage controller202010,572,355Transfer track format information for tracks in cache at a primary storage system to a secondary storage system to which tracks are mirrored to use after a failover or failback202010,565,109Asynchronous update of metadata tracks in response to a cache hit generated via an I/O operation over a bus interface202010,564,867Validation of storage volumes that are in a peer to peer remote copy relationship202010,558,596Selecting a priority queue from which to process an input/output (I/O) request by training a machine learning module202010,558,568Restriction of validation to active tracks in non-volatile storage during a warmstart recovery202010,552,330Wait classified cache writes in a data storage system202010,552,500Presenting a data instance based on presentation rules202010,552,061Providing preferential access to a metadata track in two track writes202010,552,324Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node202010,545,795Determination of memory access patterns of tasks in a multi-core processor202010,545,553Preventing unexpected power-up failures of hardware components202010,540,246Transfer track format information for tracks in cache at a first processor node to a second process node to which the first processor node is failing over202010,540,295Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache202010,540,296Thresholding task control blocks for staging and destaging202010,528,435Performance efficient time locks on data in a storage controller202010,528,339Cognitive feature based code level update202010,528,437Monitoring correctable errors on a bus interface to determine whether to redirect input/output request (I/O) traffic to another bus interface202010,521,139Copy source to target management in a data storage system201910,521,115Handling cache and non-volatile storage (NVS) out of sync writes201910,516,672Service discovery for a multi-tenant identity and data security management cloud service201910,514,859Reduction of processing overhead for point in time copy to allow access to time locked data201910,514,721Validation of clock to provide security for time locked data201910,489,080Point in time copy of time locked data in a storage controller201910,482,032Selective space reclamation of data storage memory employing heat and relocation metrics201910,466,751Supplemental power distribution voltage stabilization201910,445,497Offloading processing of writes to determine malicious data from a first storage system to a second storage system201910,430,305Determine whether to rebuild track metadata to determine whether a track format table has a track format code for the track format metadata201910,430,348Selecting cache lists indicating tracks in a cache to process for demotion201910,430,264Monitoring correctable errors on a bus interface to determine whether to redirect input/output (I/O) traffic from a first processing unit to a second processing unit201910,417,069Handling zero fault tolerance events in machines where failure likely results in unacceptable loss201910,417,139Cache management based on types of I/O operations201910,417,138Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage201910,394,713Selecting resources to make available in local queues for processors to use201910,397,078Communicating health status when a management console is unavailable for a server in a mirror storage environment201910,387,272Restore current version of a track from a non-volatile storage into a new location in cache201910,387,321Securing exclusive access to a copy of a metadata track via a process while the metadata track is held in a shared mode by another process201910,380,035Using an access increment number to control a duration during which tracks remain in cache201910,379,943Management of foreground and background processes in a storage controller201910,379,905Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache201910,372,624Destaging pinned retryable data in cache201910,372,371Dynamic data relocation using cloud based ranks201910,372,363Thin provisioning using cloud based ranks201910,346,316Processing cache miss rates to determine memory space to add to an active cache to reduce a cache miss rate for the active cache201910,346,317Determining cores to assign to cache hostile tasks201910,320,936Populating a secondary cache with unmodified tracks in a primary cache when redirecting host access from a primary server to a secondary server201910,318,192Performing preprocessing operations in anticipation of log file writes201910,318,156Invoking input/output (I/O) threads on processors to demote tracks from a cache201910,318,429Adjustment of the number of tasks for a cache storage scan and destage application based on the type of elements to be destaged from the cache storage201910,318,352Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache201910,310,738Avoid out of space outage in a thinly provisioned box201910,303,607Preservation of modified cache data in local non-volatile storage following a failover201910,282,543Determining whether to destage write data in cache to storage based on whether the write data has malicious data201910,282,303Using cache lists for processors to determine tracks to demote from a cache201910,275,360Considering a density of tracks to destage in groups of tracks to select groups of tracks to destage201910,275,280Reserving a core of a processor complex for a critical task201910,255,061Zero down time upgrade for a multi-tenant identity and data security management cloud service201910,257,023Dual server based storage controllers with distributed storage of each server data in different clouds201910,248,464Providing additional memory and cache for the execution of critical tasks by folding processing units of a processor complex201910,248,457Providing exclusive use of cache associated with a processing entity of a processor complex to a selected task201910,248,577Using a characteristic of a process input/output (I/O) activity and data subject to the I/O activity to determine whether the process is a suspicious process201910,241,918Considering a frequency of access to groups of tracks to select groups of tracks to destage201910,229,064Using cache lists for processors to determine tracks to demote from a cache201910,223,164Execution of critical tasks based on the number of available processing entities201910,223,274Maintaining track format metadata for target tracks in a target storage in a copy relationship with source tracks in a source storage201910,216,429Performing post-processing operations for log file writes201910,210,086Fast cache demotions in storage controllers with metadata201910,204,060Determining memory access categories to use to assign tasks to processor cores to execute201910,169,249Adjusting active cache size based on cache usage201910,171,585Method, system, and computer program product for distributed storage of data in a heterogeneous cloud201910,169,248Determining cores to assign to cache hostile tasks201910,157,082Preferential CPU utilization for tasks201810,154,044Method, system, and computer program product for providing security and responsiveness in cloud based data storage and application execution201810,152,423Selective population of secondary cache employing heat metrics201810,127,152Populating a second cache with tracks from a first cache when transferring management of the tracks from a first node to a second node201810,122,832Communications of usernames and passwords to a plurality of cloud storages via a plurality of communications protocols that change over time201810,120,598Validation of write data subsequent to destaging to auxiliary storage for completion of peer to peer remote copy201810,120,716Task pooling and work affinity in data processing201810,120,811Considering a frequency of access to groups of tracks and density of the groups to select groups of tracks to destage201810,114,753Using cache lists for multiple processors to cache and demote tracks in a storage system201810,108,552Using cache lists for processors to determine tracks to demote from a cache201810,095,628Considering a density of tracks to destage in groups of tracks to select groups of tracks to destage201810,082,958Invoking input/output (I/O) threads on processors to demote tracks from a cache201810,069,910Storage and application controller for mirroring and switchover of applications in a plurality of cloud locations via a plurality of configurable security protocols201810,067,883Using an access increment number to control a duration during which tracks remain in cache201810,067,884Distributing a plurality of tracks to add to cache to lists assigned to processors201810,049,056Deferred RE-MRU operations to reduce lock contention201810,042,779Selective space reclamation of data storage memory employing heat and relocation metrics201810,031,844NVS thresholding for efficient data management201810,013,181Distributed storage of data in a local storage and a heterogeneous cloud201810,007,600NVS thresholding for efficient data management20189,996,476Management of cache lists via dynamic sizing of the cache lists20189,971,689Invoking input/output (I/O) threads and demote threads on processors to demote tracks from a cache20189,971,508Invoking input/output (I/O) threads on processors to demote tracks from a cache20189,952,982Invoking demote threads on processors to demote tracks indicated in demote ready lists from a cache when a number of free cache segments in the cache is below a free cache segment threshold20189,952,904Distributing tracks to add to cache to processor cache lists based on counts of processor access requests to the cache20189,952,974Preservation of modified cache data in local non-volatile storage following a failover20189,934,083Requesting manual intervention on failure of initial microcode load attempts during recovery of modified customer data20189,928,004'Assigning device adaptors to use to copy source extents to target extents in a copy relationship'20189,921,973'Cache management of track removal in a cache for storage'20189,921,879'Using queues corresponding to attribute values associated with units of work to select the units of work to process'20189,921,974'Assigning cache control blocks and cache lists to multiple processors to cache and demote tracks in a storage system'20189,880,903'Intelligent stress testing and raid rebuild to prevent data loss'20189,870,323'Thresholding task control blocks for staging and destaging'20189,870,275'Processor thread management'20189,864,534'Validation of storage volumes that are in a peer to peer remote copy relationship'20189,864,532'Performing preprocessing operations in anticipation of log file writes'20189,864,686'Restriction of validation to active tracks in non-volatile storage during a warmstart recovery'20189,858,180'Management of point-in-time copy relationship for extent space efficient volumes'20189,858,148'Raid data loss prevention'20189,857,997'Replicating tracks from a first storage site to a second and third storage sites'20189,852,059NVS thresholding for efficient data management20179,852,058NVS thresholding for efficient data management20179,830,277Selective space reclamation of data storage memory employing heat and relocation metrics20179,824,030'Adjusting active cache size based on cache usage'20179,811,474'Determining cache performance using a ghost cache list indicating tracks demoted from a cache list of tracks in a cache'20179,804,971'Cache management of track removal in a cache for storage'20179,800,481'Communicating health status when a management console is unavailable for a server in a mirror storage environment'20179,798,676'Managing caching of extents of tracks in a first cache, second cache and storage'20179,792,061'Efficient cache management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap'20179,785,553'Asynchronous cleanup after a peer-to-peer remote copy (PPRC) terminate relationship operation'20179,785,561'Integrating a flash cache into large storage systems'20179,785,349'Efficient free-space management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap in bind segments'20179,779,030'Grouping tracks for destaging'20179,753,773'Performance-based multi-mode task dispatching in a multi-processor core system for extreme temperature avoidance'20179,747,139'Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance'20179,733,991'Deferred re-MRU operations to reduce lock contention'20179,727,272'Increased destaging efficiency for smoothing of destage tasks based on speed of disk drives'20179,710,398'RE-MRU of metadata tracks to reduce lock contention'20179,678,686'Managing sequentiality of tracks for asynchronous PPRC tracks on secondary'20179,665,493'Increased cache performance with multi-level queues of complete tracks'20179,665,492'Fuzzy counters for NVS to reduce lock contention'20179,658,798'Grouping of tracks for copy source to target destage on global mirror secondary'20179,658,888'Thresholding task control blocks for staging and destaging'20179,652,406'MRU batching to reduce lock contention'20179,632,945'Destage grouping for sequential fast write tracks'20179,632,941'Fuzzy counters for NVS to reduce lock contention'20179,626,113'Management of destage tasks with large number of ranks'20179,606,835'Determination of memory access patterns of tasks in a multi-core processor'20179,600,277'Asynchronous cleanup after a peer-to-peer remote copy (PPRC) terminate relationship operation'20179,594,511'Cascaded, point-in-time-copy architecture with data deduplication'20179,575,800'Using queues corresponding to attribute values and priorities associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process'20179,563,366'Using queues corresponding to attribute values associated with units of work and sub-units of the unit of work to select the units of work and their sub-units to process'20179,547,604'Deferred RE-MRU operations to reduce lock contention'20179,542,330'Systems and methods for background destaging storage tracks'20179,542,331'Concurrent update of data in cache with destage to disk'20179,535,610'Optimizing peer-to-peer remote copy (PPRC) transfers for partial write operations using a modified sectors bitmap'20179,507,527'Efficient cache management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap'20169,501,240'Efficient free-space management of multi-target peer-to-peer remote copy (PPRC) modified sectors bitmap in bind segments'20169,501,327'Concurrently processing parts of cells of a data structure with multiple processes'20169,483,408'Deferred metadata initialization'20169,477,607'Adaptive record caching for solid state disks'20169,477,418'Assigning device adaptors to use to copy source extents to target extents in a copy relationship'20169,477,606'Adaptive record caching for solid state disks'20169,471,253'Use of flash cache to improve tiered migration performance'20169,471,506'Tiered caching and migration in differing granularities'20169,471,505'Efficient multi-threaded journal space reclamation'20169,471,252'Use of flash cache to improve tiered migration performance'20169,471,496'Demoting tracks from a first cache to a second cache by using a stride number ordering of strides in the second cache to consolidate strides in the second cache'20169,465,554'Tiered caching and migration in differing granularities'20169,442,848'Increased destaging efficiency by smoothing destaging between current and desired number of destage tasks'20169,442,660'Selective space reclamation of data storage memory employing heat and relocation metrics'20169,442,847'Increased destaging efficiency by smoothing destaging between current and desired number of destage tasks'20169,430,404'Thinly provisioned flash cache with shared storage pool'20169,430,395'Grouping and dispatching scans in cache'20169,424,196'Adjustment of the number of task control blocks allocated for discard scans'20169,418,021'Writing adjacent tracks to a stride, based on a comparison of a destaging of tracks to a defragmentation of the stride'20169,417,808'Promotion of partial data segments in flash cache'20169,411,738'Efficient processing of cache segment waiters'2016Career & activity timeline
Assembled from patent assignee/location history and declaration credentials.
2007–2021Patents assigned to IBM (466)· patent assignee history
2007–2011Based in San Jose, CA, US· patent location history
2009–2021Based in Tucson, AZ, US· patent location history
2010–2012Based in Seattle, WA, US· patent location history
2012–2018Patents assigned to GUPTA LOKESH M (79)· patent assignee history
2012–2018Patents assigned to BENHASE MICHAEL T (75)· patent assignee history
2012–2016Patents assigned to KALOS MATTHEW J (20)· patent assignee history
2012–2015Patents assigned to GILL BINNY S (16)· patent assignee history
2014–2021Based in Tuscon, AZ, US· patent location history
2019–2020Based in Belmont, CA, US· patent location history
Inventor activity
Assignee and location history derived from the patent record.
Assignees
| Assignee | Patents | Span |
|---|---|---|
| IBM | 466 | 2007–2021 |
| GUPTA LOKESH Mself | 79 | 2012–2018 |
| BENHASE MICHAEL T | 75 | 2012–2018 |
| KALOS MATTHEW J | 20 | 2012–2016 |
| GILL BINNY S | 16 | 2012–2015 |
Locations
| Location | Patents | Span |
|---|---|---|
| Tucson, AZ, US | 467 | 2009–2021 |
| Belmont, California, US | 4 | 2019–2020 |
| Tuscon, AZ, US | 3 | 2014–2021 |
| Seattle, Washington, US | 2 | 2010–2012 |
| San Jose, California, US | 2 | 2007–2011 |