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: 8769225
    Abstract: 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: Grant
    Filed: April 27, 2012
    Date of Patent: July 1, 2014
    Assignee: International Business Machines Corporation
    Inventors: 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: 8762667
    Abstract: 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: Grant
    Filed: February 1, 2010
    Date of Patent: June 24, 2014
    Assignee: International Business Machines Corporation
    Inventors: 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: 20120221822
    Abstract: 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: Application
    Filed: April 27, 2012
    Publication date: August 30, 2012
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: 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: 20120203996
    Abstract: 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: Application
    Filed: April 16, 2012
    Publication date: August 9, 2012
    Applicant: International Business Machines Corporation
    Inventors: 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: 8230450
    Abstract: 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: Grant
    Filed: January 6, 2009
    Date of Patent: July 24, 2012
    Assignee: International Business Machines Corporation
    Inventors: Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Brian S. McCain, Jason L. Peipelman, Matthew J. Ward
  • Patent number: 8122460
    Abstract: 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: Grant
    Filed: April 10, 2008
    Date of Patent: February 21, 2012
    Assignee: International Business Machines Corporation
    Inventors: Brian S. McCain, Jason L. Peipelman
  • Publication number: 20110191558
    Abstract: 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: Application
    Filed: February 2, 2010
    Publication date: August 4, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: 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: 20110191556
    Abstract: 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: Application
    Filed: February 1, 2010
    Publication date: August 4, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: 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: 7921433
    Abstract: 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: Grant
    Filed: April 29, 2008
    Date of Patent: April 5, 2011
    Assignee: International Business Machines Corporation
    Inventors: Brian S. McCain, Amy L. Therrien
  • Patent number: 7783931
    Abstract: 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: Grant
    Filed: May 4, 2007
    Date of Patent: August 24, 2010
    Assignee: International Business Machines Corporation
    Inventors: Juan A. Coronado, Veronica S. Davila, Jack N. Licano, Jr., Brian S. McCain, Beth A. Peterson
  • Publication number: 20100175075
    Abstract: 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: Application
    Filed: January 6, 2009
    Publication date: July 8, 2010
    Applicant: International Business Machines Corporation
    Inventors: Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Brian S. McCain, Jason L. Peipelman, Matthew J. Ward
  • Publication number: 20100175076
    Abstract: 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: Application
    Filed: January 6, 2009
    Publication date: July 8, 2010
    Applicant: International Business Machines Corporation
    Inventors: Mario F. Acedo, Ezequiel Cervantes, Paul A. Jennas, II, Brian S. McCain, Jason L. Peipelman, Matthew J. Ward
  • Patent number: 7472174
    Abstract: 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: Grant
    Filed: January 18, 2005
    Date of Patent: December 30, 2008
    Assignee: International Business Machines Corporation
    Inventors: Brian S. McCain, Jason L. Peipelman
  • Publication number: 20080276255
    Abstract: 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: Application
    Filed: May 4, 2007
    Publication date: November 6, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Juan A. Coronado, Veronica S. Davila, Jack N. Licano, Brian S. McCain, Beth A. Peterson
  • Patent number: 7437735
    Abstract: 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: Grant
    Filed: February 27, 2004
    Date of Patent: October 14, 2008
    Assignee: International Business Machines Corporation
    Inventors: Linda V. Benhase, Raymond A. James, Brian S. McCain, John R. Paveza, Amy L. Therrien, Glenn P. Williamson
  • Publication number: 20080216101
    Abstract: 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: Application
    Filed: April 10, 2008
    Publication date: September 4, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brian S. McCain, Jason L. Peipelman
  • Publication number: 20080201417
    Abstract: 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: Application
    Filed: April 29, 2008
    Publication date: August 21, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Brian S. McCain, Amy L. Therrien
  • Patent number: 7409693
    Abstract: 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: Grant
    Filed: October 30, 2003
    Date of Patent: August 5, 2008
    Assignee: International Business Machines Corporation
    Inventors: Brian S. McCain, Amy L. Therrien
  • Patent number: 7367032
    Abstract: 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: Grant
    Filed: January 7, 2005
    Date of Patent: April 29, 2008
    Assignee: International Business Machines Corporation
    Inventors: Brian S. McCain, Jason L. Peipelman
  • Publication number: 20080052416
    Abstract: 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: Application
    Filed: August 23, 2006
    Publication date: February 28, 2008
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Juan A. Coronado, Clint A. Hardy, Jack N. Licano, Brian S. McCain, Beth A. Peterson