Patents by Inventor Brian S. McCain
Brian S. McCain 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: 8769225Abstract: In one embodiment, pursuant to migrating the data from the first to the second storage medium, the data is allocated to the second storage medium while retaining an allocation of the data in the first storage medium. If the data is migrated from the second storage medium back to the first storage medium, the data is pointed to the allocation of the data in the first storage medium to alleviate data movement from the second storage medium to the first storage medium. If the allocation of the data in the first storage medium is determined to be needed for other data, the allocation of the data in the first storage medium is freed.Type: GrantFiled: April 27, 2012Date of Patent: July 1, 2014Assignee: International Business Machines CorporationInventors: Dale H. Anderson, Philip M. Doatmas, Michael R. Groseclose, Jr., Paul A. Jennas, II, Larry Juarez, Brian S. McCain, David Montgomery, Jason L. Peipelman, Joshua M. Rhoades, Todd C. Sorenson, David V. Valverde
-
Patent number: 8762667Abstract: In one embodiment, pursuant to migrating the data from the first to the second storage medium, the data is allocated to the second storage medium while retaining an allocation of the data in the first storage medium. If the data is migrated from the second storage medium back to the first storage medium, the data is pointed to the allocation of the data in the first storage medium to alleviate data movement from the second storage medium to the first storage medium. If the allocation of the data in the first storage medium is determined to be needed for other data, the allocation of the data in the first storage medium is freed.Type: GrantFiled: February 1, 2010Date of Patent: June 24, 2014Assignee: International Business Machines CorporationInventors: Dale H. Anderson, Philip M. Doatmas, Michael R. Groseclose, Jr., Paul A. Jennas, II, Larry Juarez, Brian S. McCain, David Montgomery, Jason L. Peipelman, Joshua M. Rhoades, Todd C. Sorenson, David V. Valverde
-
Publication number: 20120221822Abstract: In one embodiment, pursuant to migrating the data from the first to the second storage medium, the data is allocated to the second storage medium while retaining an allocation of the data in the first storage medium. If the data is migrated from the second storage medium back to the first storage medium, the data is pointed to the allocation of the data in the first storage medium to alleviate data movement from the second storage medium to the first storage medium. If the allocation of the data in the first storage medium is determined to be needed for other data, the allocation of the data in the first storage medium is freed.Type: ApplicationFiled: April 27, 2012Publication date: August 30, 2012Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Dale H. ANDERSON, Philip M. DOATMAS, Michael R. GROSECLOSE, JR., Paul A. JENNAS, II, Larry JUAREZ, Brian S. McCAIN, David MONTGOMERY, Jason L. PEIPELMAN, Joshua M. RHOADES, Todd C. SORENSON, David V. VALVERDE
-
Publication number: 20120203996Abstract: A method for managing extents in a data storage system includes monitoring usage statistics for an extent residing on one or more powered-up storage devices. In the event the extent has not been accessed for specified period of time (as determined from the usage statistics), the method automatically compresses the extent and migrates the extent to an intermediate repository. Once the amount of data in the intermediate repository reaches a specified level, the method migrates the extent from the intermediate repository to one or more normally powered-down storage devices. If I/O is received for the extent while it resides in the normally powered-down storage devices or the intermediate repository, the method automatically migrates the extent from the normally powered-down storage devices or the intermediate repository to the normally powered-up storage devices. A corresponding apparatus and computer program product are also disclosed.Type: ApplicationFiled: April 16, 2012Publication date: August 9, 2012Applicant: International Business Machines CorporationInventors: Dale H. Anderson, Philip M. Doatmas, Michael R. Groseclose, Paul A. Jennas, Larry Juarez, Brian S. McCain, David Montgomery, Jason L. Peipelman, Joshua M. Rhoades, Todd C. Sorenson
-
Patent number: 8230450Abstract: A method for executing a software routine identified in a task object is provided. The method includes accessing a list of software routine identifiers associated with software routines that are executable on a computer server. The method further includes generating a task object generation command having at least a first software routine identifier, parameter data, and link task information and generating a second task object in response to the task object generation command. The second task object includes the first software routine identifier, the parameter data, and the link task information.Type: GrantFiled: January 6, 2009Date of Patent: July 24, 2012Assignee: International Business Machines CorporationInventors: Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Brian S. McCain, Jason L. Peipelman, Matthew J. Ward
-
Patent number: 8122460Abstract: A system and method for implementing dynamic interfaces in a JAVA program including methods having a common implementation and other methods to be handled independently. The system comprises a first dynamic proxy object implementing an invocation handler for providing default implementations; a separate object providing implementations of any method in a defined interface that requires independent handling; and, a second dynamic proxy object provided for checking a method definition object for an implementation of the method, and in response, one of: invoking the method on the separate object if the implementation exists, and if the implementation does not exist, invoking the method on the first dynamic proxy object. The second dynamic proxy object thus allows for a single implementation for repetitive methods, while allowing special cases to be handled independently.Type: GrantFiled: April 10, 2008Date of Patent: February 21, 2012Assignee: International Business Machines CorporationInventors: Brian S. McCain, Jason L. Peipelman
-
Publication number: 20110191558Abstract: A method for managing extents in a data storage system includes monitoring usage statistics for an extent residing on one or more powered-up storage devices. In the event the extent has not been accessed for specified period of time (as determined from the usage statistics), the method automatically compresses the extent and migrates the extent to an intermediate repository. Once the amount of data in the intermediate repository reaches a specified level, the method migrates the extent from the intermediate repository to one or more normally powered-down storage devices. If I/O is received for the extent while it resides in the normally powered-down storage devices or the intermediate repository, the method automatically migrates the extent from the normally powered-down storage devices or the intermediate repository to the normally powered-up storage devices. A corresponding apparatus and computer program product are also disclosed.Type: ApplicationFiled: February 2, 2010Publication date: August 4, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Dale H. Anderson, Philip M. Doatmas, Michael R. Groseclose, Paul A. Jennas, Larry Juarez, Brian S. McCain, David Montgomery, Jason L. Peipelman, Joshua M. Rhoades, Todd C. Sorenson
-
Publication number: 20110191556Abstract: Exemplary method, system, and computer program embodiments for data migration between first and second storage mediums of an available plurality of storage mediums in a computing storage environment are provided. In one embodiment, pursuant to migrating the data from the first to the second storage medium, the data is allocated to the second storage medium while retaining an allocation of the data in the first storage medium. If the data is migrated from the second storage medium back to the first storage medium, the data is pointed to the allocation of the data in the first storage medium to alleviate data movement from the second storage medium to the first storage medium. If the allocation of the data in the first storage medium is determined to be needed for other data, the allocation of the data in the first storage medium is freed.Type: ApplicationFiled: February 1, 2010Publication date: August 4, 2011Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Dale H. ANDERSON, Philip M. DOATMAS, Michael R. GROSECLOSE, JR., Paul A. JENNAS, II, Larry JUAREZ, Brian S. McCAIN, David MONTGOMERY, Jason L. PEIPELMAN, Joshua M. RHOADES, Todd C. SORENSON, David V. VALVERDE
-
Patent number: 7921433Abstract: A technique for determining whether a server host supports the functions in a command sent by a client host. The client host formulates a command including a command object that contains parameter objects. The parameter objects, which represent the functions, are serialized, e.g., using the Java serialization command, and communicated to the server host. The server host attempts to deserialize the parameter objects. If it is successful, it is concluded that the server host supports the functions represented by the parameter objects. Or, it is concluded that the server host is incompatible with the functions represented by one or more parameter objects that cannot be deserialized. The server host may be a storage server, and the functions may be storage-related, such as a copy type to be performed.Type: GrantFiled: April 29, 2008Date of Patent: April 5, 2011Assignee: International Business Machines CorporationInventors: Brian S. McCain, Amy L. Therrien
-
Patent number: 7783931Abstract: An enterprise network interface client application and a local, central electronic complex (CEC) in a dual CEC environment implement an alternative method of communication. Upon a send failure of a command to a first CEC in the environment, the command is sent to a second CEC using a CEC to CEC message mechanism. A method of communicating an asynchronous event is implemented between a microcode layer and an enterprise network interface client application in a dual central electronic complex (CEC) environment. A copy of the event is retained. Upon a send failure of the event to a first CEC in the environment, the copy of the event is sent to a second CEC in the environment.Type: GrantFiled: May 4, 2007Date of Patent: August 24, 2010Assignee: International Business Machines CorporationInventors: Juan A. Coronado, Veronica S. Davila, Jack N. Licano, Jr., Brian S. McCain, Beth A. Peterson
-
Publication number: 20100175075Abstract: A method for executing a software routine identified in a task object is provided. The method includes accessing a list of software routine identifiers associated with software routines that are executable on a computer server. The method further includes generating a task object generation command having at least a first software routine identifier, parameter data, and link task information and generating a second task object in response to the task object generation command. The second task object includes the first software routine identifier, the parameter data, and the link task information.Type: ApplicationFiled: January 6, 2009Publication date: July 8, 2010Applicant: International Business Machines CorporationInventors: Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Brian S. McCain, Jason L. Peipelman, Matthew J. Ward
-
Publication number: 20100175076Abstract: A method for executing a software routine identified in a task object is provided. The method includes accessing a list of software routine identifiers associated with software routines that are executable on a computer server, and generating a task object generation command having at least a first software routine identifier, parameter data, and event information. The event information has an event identifier and a first flag value. The method further includes generating a first task object in response to the task object generation command, which includes the first software routine identifier, the parameter data, and the event information.Type: ApplicationFiled: January 6, 2009Publication date: July 8, 2010Applicant: International Business Machines CorporationInventors: Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Brian S. McCain, Jason L. Peipelman, Matthew J. Ward
-
Patent number: 7472174Abstract: The amount of code required to use the command pattern for client-server communications is reduced because, instead of creating separate commands for different actions, instructions required for an action are put into a single, abstract command, along with the required data. The command pattern, an object-oriented design pattern, describes a pattern for encapsulating instructions and data into a single object, called a command. A client application or a dynamic proxy uses the command pattern to encapsulate an identifier of a function to be performed at a server, and first data for use by the server in performing the function, into a command object, and provides the command object to a server host. The server host performs the function by associating instructions with the identifier and executing the instructions, using the first data, to obtain second data, and returns the command object with the second data to the client host.Type: GrantFiled: January 18, 2005Date of Patent: December 30, 2008Assignee: International Business Machines CorporationInventors: Brian S. McCain, Jason L. Peipelman
-
Publication number: 20080276255Abstract: An enterprise network interface client application and a local, central electronic complex (CEC) in a dual CEC environment implement an alternative method of communication. Upon a send failure of a command to a first CEC in the environment, the command is sent to a second CEC using a CEC to CEC message mechanism. A method of communicating an asynchronous event is implemented between a microcode layer and an enterprise network interface client application in a dual central electronic complex (CEC) environment. A copy of the event is retained. Upon a send failure of the event to a first CEC in the environment, the copy of the event is sent to a second CEC in the environment.Type: ApplicationFiled: May 4, 2007Publication date: November 6, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Juan A. Coronado, Veronica S. Davila, Jack N. Licano, Brian S. McCain, Beth A. Peterson
-
Patent number: 7437735Abstract: A technique for reducing the number of events that are transmitted by a server to a client in a client/server application programming interface (API). At the server host, each of different event messages is associated with at least one event category in a hierarchy of event categories. Each client host sends a registration request to the server host to inform the server host that the client host wants to receive only event messages that are associated with a specified event category. The server host associates the specified event category with each client host, and communicates only the event messages that are descendants of the specified event category.Type: GrantFiled: February 27, 2004Date of Patent: October 14, 2008Assignee: International Business Machines CorporationInventors: Linda V. Benhase, Raymond A. James, Brian S. McCain, John R. Paveza, Amy L. Therrien, Glenn P. Williamson
-
Publication number: 20080216101Abstract: A system and method for implementing dynamic interfaces in a JAVA program including methods having a common implementation and other methods to be handled independently. The system comprises a first dynamic proxy object implementing an invocation handler for providing default implementations; a separate object providing implementations of any method in a defined interface that requires independent handling; and, a second dynamic proxy object provided for checking a method definition object for an implementation of the method, and in response, one of: invoking the method on the separate object if the implementation exists, and if the implementation does not exist, invoking the method on the first dynamic proxy object. The second dynamic proxy object thus allows for a single implementation for repetitive methods, while allowing special cases to be handled independently.Type: ApplicationFiled: April 10, 2008Publication date: September 4, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Brian S. McCain, Jason L. Peipelman
-
Publication number: 20080201417Abstract: A technique for determining whether a server host supports the functions in a command sent by a client host. The client host formulates a command including a command object that contains parameter objects. The parameter objects, which represent the functions, are serialized, e.g., using the Java serialization command, and communicated to the server host. The server host attempts to deserialize the parameter objects. If it is successful, it is concluded that the server host supports the functions represented by the parameter objects. Or, it is concluded that the server host is incompatible with the functions represented by one or more parameter objects that cannot be deserialized. The server host may be a storage server, and the functions may be storage-related, such as a copy type to be performed.Type: ApplicationFiled: April 29, 2008Publication date: August 21, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Brian S. McCain, Amy L. Therrien
-
Patent number: 7409693Abstract: A technique for determining whether a server host supports the functions in a command sent by a client host. The client host formulates a command including a command object that contains parameter objects. The parameter objects, which represent the functions, are serialized, e.g., using the Java serialization command, and communicated to the server host. The server host attempts to deserialize the parameter objects. If it is successful, it is concluded that the server host supports the functions represented by the parameter objects. Or, it is concluded that the server host is incompatible with the functions represented by one or more parameter objects that cannot be deserialized. The server host may be a storage server, and the functions may be storage-related, such as a copy type to be performed.Type: GrantFiled: October 30, 2003Date of Patent: August 5, 2008Assignee: International Business Machines CorporationInventors: Brian S. McCain, Amy L. Therrien
-
Patent number: 7367032Abstract: A system and method for implementing dynamic interfaces in a JAVA program including methods having a common implementation and other methods to be handled independently. The system comprises a first dynamic proxy object implementing an invocation handler for providing default implementations; a separate object providing implementations of any method in a defined interface that requires independent handling; and, a second dynamic proxy object provided for checking a method definition object for an implementation of the method, and in response, one of: invoking the method on the separate object if the implementation exists, and if the implementation does not exist, invoking the method on the first dynamic proxy object. The second dynamic proxy object thus allows for a single implementation for repetitive methods, while allowing special cases to be handled independently.Type: GrantFiled: January 7, 2005Date of Patent: April 29, 2008Assignee: International Business Machines CorporationInventors: Brian S. McCain, Jason L. Peipelman
-
Publication number: 20080052416Abstract: In a data processing system, configured utility devices are designated in logical storage subsystems. The identification numbers of the designated utility devices are stored by a network interface. When a non-device specific command or query is received from a server by the interface, the interface obtains the ID of one of the utility devices and uses the utility device to address the command or query to the controller. Consequently, the overhead and delays associated with repeated command rejections due to unconfigured devices is substantially reduced.Type: ApplicationFiled: August 23, 2006Publication date: February 28, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Juan A. Coronado, Clint A. Hardy, Jack N. Licano, Brian S. McCain, Beth A. Peterson