Inventor
Cary Lee Bates
Inventor
Rochester, MN, US
Overview
Patents· 415 as inventor
Public. Assignee & technology derived from the patent record. Each patent links to its LexDana page.
G06Fprimary
G06FElectric digital data processing60%
G06QInformation and communication technology [ict] specially adapted for administrative, commercial, financial, managerial or supervisory purposes7%
Y10STechnical subjects covered by former uspc cross-reference art collections [xracs] and digests6%
H04LTransmission of digital information, e.g. telegraphic communication6%
H04MTelephonic communication3%
G09GArrangements or circuits for control of indicating devices using static means to present variable information2%
H04WWireless communication networks2%
H04NPictorial communication, e.g. television2%
G10LSpeech analysis techniques or speech synthesis1%
H04HBroadcast communication1%
PatentTitleYear
10,928,782Virtual detent bezel device202110,627,983Generating data for managing encounters in a virtual world environment202010,599,554Dynamic instrumentation based on detected errors202010,445,347Positional route guidance201910,268,218Decreasing the internal temperature of a computer in response to corrosion201910,169,195Detecting uninitialized memory references201910,114,730Dynamic instrumentation based on detected errors201810,108,529Dynamic instrumentation based on detected errors201810,042,745Enhancing the debugger stack with recently reported errors under debug201810,037,265Enhancing the debugger stack with recently reported errors under debug20189,971,670Detecting uninitialized memory references20189,823,904'Managed assertions in an integrated development environment'20179,747,082'Optimizing program performance with assertion management'20179,740,588'Performance enhancement mode selection tool'20179,733,903'Optimizing program performance with assertion management'20179,720,657'Managed assertions in an integrated development environment'20179,703,553'Assertions based on recently changed code'20179,703,552'Assertions based on recently changed code'20179,690,917'Managing compromised passwords'20179,684,584'Managing assertions while compiling and debugging source code'20179,678,855'Managing assertions while compiling and debugging source code'20179,639,478'Controlling direct memory access page mappings'20179,632,908'Run to end of an execution pattern in a software debugger'20179,626,281'Call stack display with program flow indication'20179,619,369'Debug management using a counter'20179,600,156'Enlarging a selection region associated with selected information in a document displayed on a screen of a computing device'20179,594,669'Debug management using a counter'20179,594,667'Enhancing weak consistency'20179,594,666'Enhancing weak consistency'20179,575,831'Detecting the use of stale data values due to weak consistency'20179,553,893'Enhanced message security'20179,525,746'Media playlist construction for virtual environments'20169,513,884'Thermal-aware source code compilation'20169,471,463'Debug management using dynamic analysis based on state information'20169,471,464'Debug management using dynamic analysis based on state information'20169,465,686'Detecting uninitialized memory references'20169,459,850'Adaptive cloud aware just-in-time (JIT) compilation'20169,459,849'Adaptive cloud aware just-in-time (JIT) compilation'20169,454,461'Call stack display with program flow indication'20169,442,823'Memory error tracking in a multiple-user development environment'20169,430,357'Detecting uninitialized memory references'20169,424,164'Memory error tracking in a multiple-user development environment'20169,417,986'System library error classification in a cloud based dynamic analysis tool'20169,411,709'Collaborative software debugging in a distributed system with client-specific event alerts'20169,367,478'Controlling direct memory access page mappings'20169,361,176'Detecting the use of stale data values due to weak consistency'20169,300,612'Managing interactions in a virtual world environment'20169,292,023'Decreasing the internal temperature of a computer in response to corrosion'20169,262,302'Displaying values of variables in a first thread modified by another thread'20169,253,138'Filtering message posts in a social network'20169,176,848'Program debugger and program debugging'20159,172,671'Filtering message posts in a social network'20159,164,899'Administering thermal distribution among memory modules of a computing system'20159,164,813'Using a debug engine to identify threads that wait for a mutex'20159,164,898'Administering thermal distribution among memory modules of a computing system'20159,164,871'Evaluation of statement-level breakpoints'20159,122,792'Step over operation for machine code function calls'20159,122,796'Recreating timing issues during program debug'20159,117,017'Debugger with previous version feature'20159,111,033'Compiling source code for debugging with user preferred snapshot locations'20159,104,795'Integrating compiler warnings into a debug session'20159,104,801'Analyzing concurrent debugging sessions'20159,092,562'Controlling access to variables protected by an alias during a debugging session'20159,069,895'Analyzing concurrent debugging sessions'20159,053,229'Integrating compiler warnings into a debug session'20159,047,096'Real-time temperature sensitive machine level code compilation and execution'20159,047,403'Debugger with previous version feature'20159,015,676'Varying removal of internal breakpoints during debugging of code'20159,009,671'Crash notification between debuggers'20159,009,679'Determining snapshot placement'20159,009,673'Collaborative software debugging in a distributed system with collaborative step over operation'20159,009,678'Software debugging with execution match determinations'20158,990,780'Setting breakpoints in optimized instructions'20158,990,775'Collaborative software debugging in a distributed system with dynamically displayed chat sessions'20158,972,945'Collaborative software debugging in a distributed system with client-specific access control'20158,972,957'Thermal-aware source code compilation'20158,966,068'Selective logging of network requests based on subsets of the program that were executed'20158,954,932'Crash notification between debuggers'20158,943,480'Setting breakpoints in optimized instructions'20158,924,250'Advertising in virtual environments based on crowd statistics'20148,910,126'Compiling source code for debugging with variable value restoration based on debugging user activity'20148,910,136'Generating code that calls functions based on types of memory'20148,899,343'Replacing contiguous breakpoints with control words'20148,904,356'Collaborative software debugging in a distributed system with multi-member variable expansion'20148,881,115'Compiling source code for debugging with expanded snapshots'20148,874,865'Memory type-specific access control of a field of a record'20148,850,397'Collaborative software debugging in a distributed system with client-specific display of local variables'20148,843,899'Implementing a step-type operation during debugging of code using internal breakpoints'20148,838,640'Media playlist construction for virtual environments'20148,826,235'Step granularity selection in a software debugger'20148,826,236'Step granularity selection in a software debugger'20148,819,640'Establishing cloud debug breakpoints assigned to users'20148,806,449'Holding threads in a software debugger'20148,806,438'Collaborative software debugging in a distributed system with variable-specific messages'20148,806,447'Step-type operation processing during debugging by machine instruction stepping concurrent with setting breakpoints'20148,775,691'Detecting firmware version for an input/output adapter'20148,762,971'Servicing a production program in an integrated development environment'20148,762,955'Event management in a non-stop debugging environment'20148,762,954'Event management in a non-stop debugging environment'20148,762,776'Recovering from a thread hang'20148,756,578'Impact indication of thread-specific events in a non-stop debugging environment'20148,756,577'Collaborative software debugging in a distributed system with private debug sessions'20148,756,583'Thread-specific event management in a non-stop debugging environment'20148,752,024'Resuming a prior debug session'20148,752,025'Protecting breakpoints in a software debugger'20148,752,022'Thread-specific event management in a non-stop debugging environment'20148,739,127'Collaborative software debugging in a distributed system with symbol locking'20148,713,539'Managing breakpoints in a multi-threaded environment'20148,701,093'Event management in a non-stop debugging environment'20148,701,094'Event management in a non-stop debugging environment'20148,683,448'Protecting integrity of breakpoints in a software debugger'20148,671,393'Collaborative software debugging in a distributed system with client-specific dynamic breakpoints'20148,661,413'Impact indication of thread-specific events in a non-stop debugging environment'20148,656,360'Collaborative software debugging in a distributed system with execution resumption on consensus'20148,627,226'Dynamic web page arrangement'20148,589,635'Administering thermal distribution among memory modules with call stack frame size management'20138,572,577'Monitoring changes to data within a critical section of a threaded program'20138,566,799'Resuming a prior debug session'20138,566,538'Administering thermal distribution among memory modules with call stack frame size management'20138,521,524'Automated detection of spoken numbers in voice messages'20138,516,380'Conversation abstractions based on trust levels in a virtual world'20138,516,460'Real-time temperature sensitive machine level code compilation and execution'20138,495,590'User-specific software debugging'20138,495,589'Holding threads in a software debugger'20138,484,620'Implementing performance impact reduction of watched variables'20138,458,665'Debugger with audiation'20138,453,237'Verification of a segmented program on a parallel processing computing system'20138,442,324'Method and system for displaying image based on text in image'20138,417,092'System, method, and program for recording presentable data accessed through interactive links displayed by an interactive television program'20138,397,218'Step granularity selection in a software debugger'20138,388,442'Prevention of a user mimicking another user in a virtual world'20138,336,032'Implementing enhanced template debug'20128,327,336'Enhanced thread stepping'20128,312,434'Finding the source statement of the definition of a storage location'20128,291,327'Detecting avatar following in a virtual environment'20128,265,934'Automated detection of spoken numbers in voice messages'20128,265,933'Speech recognition system for providing voice recognition services using a conversational language model'20128,239,776'Behavior detection and alert in virtual worlds based on spatial and temporal criteria'20128,230,413'Detecting incorrect versions of files'20128,219,980'Identifying a potential breakpoint location in a code path in a computer program based upon the frequency of execution of the code path as identified in collected profile data'20128,141,046'Thread swap visual indication'20128,134,560'Method for avatar wandering in a computer based interactive environment'20128,132,160'Managing breakpoints in a multi-threaded environment'20128,108,849'Method and apparatus for generating computer programming code selectively optimized for execution performance and not optimized for serviceability'20128,103,950'Structure and method for linking within a website'20128,095,878'Method for spell check based upon target and presence of avatars within a virtual environment'20128,095,916'Grouping breakpoints by a criteria'20128,091,075'Method and apparatus for breakpoint analysis of computer programming code using unexpected code path conditions'20128,082,245'Providing location information within a virtual world'20118,046,738'Efficiently developing encoded instructions by tracking multiple unverified instances of repetitive code segments'20118,046,700'System for managing encounters in a virtual world environment'20118,036,349'Ordering telephone messages left for a user'20118,037,416'Presenting and filtering objects in a virtual world'20118,037,454'Method of generating and utilizing debug history'20118,032,868'Storing and restoring snapshots of a computer process'20118,028,278'Method of generating and utilizing debug history'20118,015,583'Method and system for pricing a programming event viewed by subscriber group'20118,006,182'Method and computer program product for implementing automatic avatar status indicators'20117,992,090'Reciprocal link tracking'20117,945,684'Spam risk assessment'20117,937,657'User specific error analysis'20117,937,529'Detection of frequent improper removals of and changing writing policies to prevent data loss in memory sticks'20117,895,340'Web server apparatus and method for virus checking'20117,890,623'Generating data for media playlist construction in virtual environments'20117,890,935'Thread-specific presentation of breakpoints'20117,890,936'Method of reverse read code to locate useful information'20117,886,045'Media playlist construction for virtual environments'20117,870,029'Determining the availability of purchasable items in a network environment'20117,823,774'Method, apparatus, and article of manufacture for automatic verification of transactions made over an insecure network'20107,818,374'Effective communication in virtual worlds'20107,769,817'Assisting the response to an electronic mail message'20107,770,155'Debugger apparatus and method for indicating time-correlated position of threads in a multi-threaded computer program'20107,765,218'Determining a term score for an animated graphics file'20107,756,849'Method of searching for text in browser frames'20107,739,664'Collection and detection of differences of values of expressions/variables when debugging a computer process'20107,669,112'Automated spell analysis'20107,657,256'Notifying a user of a portable wireless device'20107,634,690'Initializing diagnostic functions when specified run-time error criteria are satisfied'20097,610,042'Resending a message to a message center based on a signal strength'20097,594,186'Dialog box positioning'20097,590,536'Voice language model adjustment based on user affinity'20097,577,942'Efficient monitoring of program variables under debug'20097,574,420'Indexing pages based on associations with geographic regions'20097,565,606'Automated spell analysis'20097,552,425'Implementing enhanced compiled breakpoint analysis'20097,526,756'Address watch breakpoints with basing pointers'20097,506,313'Debug of code with selective display of data'20097,500,222'Tracking and maintaining related and derivative code'20097,490,297'Window scroll bar'20097,480,552'Method and system for controlling an automatic transmission using a GPS assist having a learn mode'20097,475,248'Enhanced message security'20097,447,684'Determining searchable criteria of network resources based on a commonality of content'20087,437,124'Satellite radio receiver that displays information regarding one or more channels that are not currently being listened to'20087,430,582'Method article of manufacture and apparatus for assisting the response to an electronic mail message'20087,409,596'Apparatus and method for initializing diagnostic functions when specified run-time error criteria are satisfied'20087,398,051'Satellite radio receiver that displays information regarding one or more channels that are not currently being listened to'20087,398,467'Method and apparatus for providing spelling analysis'20087,395,523'Method and apparatus for efficiently developing encoded instructions by tracking multiple unverified instances of repetitive code segments'20087,392,042'Method, apparatus and system for notifying a user of a portable wireless device'20087,386,452'Automated detection of spoken numbers in voice messages'20087,383,538'Storing and restoring snapshots of a computer process'20087,383,539'Managing breakpoints in a multi-threaded environment'20087,367,023'Method and apparatus for generating computer programming code selectively optimized for execution performance and not optimized for serviceability'20087,360,204'Grouping breakpoints by a criteria'20087,353,427'Method and apparatus for breakpoint analysis of computer programming code using unexpected code path conditions'20087,343,306'Location-based vehicle risk assessment system'20087,343,588'Method of generating and utilizing debug history'20087,310,627'Method of searching for text in browser frames'20077,302,635'Computer system and method of displaying hypertext documents with internal hypertext link definitions'20077,299,456'Run into function'20077,284,232'Automated generation of aliases based on embedded alias information'20077,284,195'Structure and method for linking within a website'20077,275,206'Method and computer program product for identifying hypertext links in document printouts'20077,272,826'Hierarchical breakpoint groups'20077,254,773'Automated spell analysis'20077,251,494'Telephone system and method for selectively ringing a portable phone based on the self-detected geographical position of the portable phone'20077,251,808'Graphical debugger with loadmap display manager and custom record display manager displaying user selected customized records from bound program objects'20077,236,946'Operation of control system for ensuring availability of purchasable items in networked machines'20077,225,429'Breakpoint groups based on control flow'20077,219,298'Method, system, and program for verifying network addresses included in a file'20077,178,135'Scope-based breakpoint selection and operation'20077,177,937'Web server apparatus and method for virus checking'20077,165,220'Apparatus and method for processing bookmark events for a web page'20077,146,264'Method and system for controlling an automatic transmission using a GPS assist having a learn mode'20067,146,571'System and method for two tier paste buffer and display'20067,142,666'Method and apparatus for selectively disabling a communication device'20067,139,804'Method, article of manufacture and apparatus for restricting the receipt of delegate reply messages'20067,134,121'Installing fixes based on usage'20067,130,643'Method and system for selectively paging a communication device based on self-detected position of the communication device'20067,111,281'Method, system, and article of manufacture for debugging utilizing screen pattern recognition and breakpoints'20067,107,063'Selective display of display information packets in a packet-based communication medium'20067,107,336'Method and apparatus for enhanced server page execution'20067,103,366'Method and apparatus for defining a behavior region for a communication device'20067,096,458'Method and apparatus to create and compare debug scenarios of a computer process'20067,096,215'Virus checking and reporting for computer database search results'20067,088,465'Printing more or less of a web page'20067,089,305'Conditional promotion of bookmarks'20067,089,535'Code coverage with an integrated development environment'20067,086,033'Software debugger having a monitor for monitoring conditional statements within a software program'20067,080,402'Access to applications of an electronic processing device solely based on geographic location'20067,080,360'Breakpoint safety net'20067,076,546'Browser for use in accessing hypertext documents in a multi-user computer environment'20067,058,701'Time-based browser toolbar configurations according to at least two predefined time-based browsing settings'20067,047,487'Methods for formatting electronic documents'20067,047,519'Dynamic setting of breakpoint count attributes'20067,047,548'Recall of previous program channel'20067,043,721'Initial object capacity determination'20067,043,690'Method, system, and program for checking contact information'20067,035,902'Method, article of manufacture and apparatus for processing an electronic mail document'20066,999,757'Telephone system and method for selectively ringing one or more land phones or portable phones based on the self-detected geographical position of a portable phone'20067,000,116'Password value based on geographic location'20066,996,806'Graphical view of program structure during debugging session'20066,993,749'Conditional debug monitors'20066,990,494'Identifying links of interest in a web page'20066,985,923'Method, article of manufacture and apparatus for processing redundant electronic mail messages'20066,983,454'Extended “run to†function'20066,981,248'Conditional breakpoint encountered indication'20056,978,399'Debug thread termination control points'20056,975,874'Portable phone that changes function according to its self-detected geographical position'20056,976,214'Method, system, and program for enhancing text composition in a text editor program'20056,970,541'Telecommunication service processing method and apparatus'20056,971,068'Dialog box positioning'20056,971,089'Debugger impact reduction through motion of induction variable based breakpoints'20056,966,030'Method, system and computer program product for implementing acronym assistance'20056,963,902'Skipping messages on message boards'20056,963,901'Cooperative browsers using browser information contained in an e-mail message for re-configuring'20056,964,036'Descriptive variables while debugging'20056,961,751'Method, apparatus, and article of manufacture for providing enhanced bookmarking features for a heterogeneous environment'20056,961,924'Displaying variable usage while debugging'20056,952,559'Digital radio ad enhancements'20056,947,924'Group based search engine generating search results ranking based on at least one nomination previously made by member of the user group where nomination system is independent from visitation system'20056,944,443'Method, apparatus and system for notifying a user of a portable wireless device'20056,944,821'Copy/paste mechanism and paste buffer that includes source information for copied data'20056,934,940'Source code transformation-temporary object reduction'20056,930,707'Digital camera apparatus with biometric capability'20056,931,631'Low impact breakpoint for multi-user debugging'20056,931,110'System and method for implementing calling card security and secured calling card'20056,925,605'Collating table for email'20056,922,826'Debugger impact reduction through breakpoint motion'20056,917,436'Method and computer program product for implementing web based document printing'20056,895,580'Expression reduction during compilation through routine cloning'20056,892,325'Method for displaying variable values within a software debugger'20056,889,361'Educational spell checker'20056,873,982'Ordering of database search results based on user feedback'20056,874,122'Computer system, program product and method of adjusting the display positions of hypertext links to modify the relative alignment thereof'20056,865,713'Apparatus, program product and method of annotating a hypertext document with comments'20056,854,073'Debugger program time monitor'20056,853,391'Multi-node user interface component and method thereof for use in performing a common operation on linked records'20056,850,934'Adaptive search engine query'20056,845,372'Method and computer program product for implementing search engine operational modes'20056,839,893'Debugger capable of providing warnings for unreachable breakpoints'20056,832,350'Organizing and categorizing hypertext document bookmarks by mutual affinity based on predetermined affinity criteria'20046,822,693'Television tuner that changes the rendering of a digital television broadcast according to information displayed on a scoreboard during a sporting event'20046,820,236'Click ahead browser function'20046,816,863'Method, system, and computer product for providing a distribution list'20046,813,438'Method to customize the playback of compact and digital versatile disks'20046,809,741'Automatic color contrast adjuster'20046,810,408'Method and apparatus for controlling cascading e-mail distribution'20046,810,402'Method and computer program product for color coding search results'20046,807,566'Method, article of manufacture and apparatus for processing an electronic message on an electronic message board'2004Career & activity timeline
Assembled from patent assignee/location history and declaration credentials.
1994–2020Patents assigned to IBM (406)· patent assignee history
1994–2020Based in Rochester, MN, US· patent location history
2006Based in Olmsted, MN, US· patent location history
2009Based in Olmstead, MN, US· patent location history
2011–2017Patents assigned to BATES CARY L (58)· patent assignee history
2012–2016Patents assigned to BATES CARY LEE (19)· patent assignee history
2013–2016Patents assigned to KING JUSTIN K (11)· patent assignee history
2013–2016Patents assigned to JOHNSON NICHOLAS P (7)· patent assignee history
2021Based in Forest Grove, OR, US· patent location history
Inventor activity
Assignee and location history derived from the patent record.
Assignees
| Assignee | Patents | Span |
|---|---|---|
| IBM | 406 | 1994–2020 |
| BATES CARY Lself | 58 | 2011–2017 |
| BATES CARY LEEself | 19 | 2012–2016 |
| KING JUSTIN K | 11 | 2013–2016 |
| JOHNSON NICHOLAS P | 7 | 2013–2016 |
Locations
| Location | Patents | Span |
|---|---|---|
| Rochester, Minnesota, US | 412 | 1994–2020 |
| Forest Grove, OR, US | 1 | 2021 |
| Olmstead, Minnesota, US | 1 | 2009 |
| Olmsted, Minnesota, US | 1 | 2006 |