Quote: Minimum wage jobs should be for people with minimum skills and work ethic. People with minimum skills and work ethic shouldn't be able to support themselves on their own. They should need to have help from family, roommates or the government (people with differences).
Quote: Seriously, the left decries the high cost of education and then devalues the result of that education for most of the people they claim to want to help. Why GET an advanced degree if you get paid the same minimum wage as someone who doesn't?
Because they don't value STEM or career technical degrees. They favor gender studies.
(02-11-2019 02:41 PM)gdunn Wrote: Because they don't value STEM or career technical degrees. They favor gender studies.
Curious, what does Iron Man actor Robert Downey, Jr. say on the matter...or Spiderman actor Tobey Maguire?
(02-11-2019 04:03 PM)Redwingtom Wrote: Curious, what does Iron Man actor Robert Downey, Jr. say on the matter...or Spiderman actor Tobey Maguire?
The left has always been about Celebrity endorsements.


text:
Dionne: The high cost of our 'Age of…
Dionne: The high cost of our 'Age of Impunity'
As moral inhibitions are swept away, innocents are exposed to unspeakable horror
Saudi Arabia's Crown Prince Mohammed bin Salman (L) and Russia's President Vladimir Putin attend the G20 Leaders' Summit in Buenos Aires, on November 30, 2018. – Global leaders gather in the Argentine capital for a two-day G20 summit beginning on Friday likely to be dominated by simmering international tensions over trade. (Photo by Alejandro PAGNI / AFP) / (Photo credit should read ALEJANDRO PAGNI/AFP/Getty Images)
By E.J. Dionne Jr. |
PUBLISHED: July 7, 2019 at 5:10 pm | UPDATED: July 8, 2019 at 1:32 am
WASHINGTON — Our conversations about the global retreat of democracy usually highlight its impact on those in relatively well-off nations with long-established traditions of free elections, free speech and a free media.
But David Miliband, the chief executive of the International Rescue Committee, reminded us in a recent speech that the effects of what he called the "democratic recession" are being felt most catastrophically by civilians living in lawless failed states, many of them caught up in civil wars and waves of persecution. As moral inhibitions are swept away, innocents are exposed to unspeakable horror.
Miliband called ours the "Age of Impunity," a moment "when those engaged in conflicts around the world — and there are many — believe they can get away with anything, including murder, whatever the rules and norms. And because they can get away with anything, they do everything."
His list of "everything" should call us all up short: "Chemical weapons, cluster bombs, land mines, bombing of school buses, besiegement of cities, blocking of humanitarian supplies, targeting of journalists and aid workers. You name it, we are seeing it, and seeing more of it, and seeing less outrage about it, and less accountability for it."
The former British foreign secretary knows what he is talking about. The leader of one of the oldest and most respected agencies dealing with the struggles of refugees and other displaced people, Miliband offered a grim litany: 142 million children living in high-intensity conflict zones; more than 20,000 civilians killed by explosive weapons in 2018; in the same year, 973 attacks on health facilities and health workers, 167 of whom died; since 2013, a 150% increase in landmine casualties — 8,605 of them in 2016 alone.
Miliband added that civil wars are generating more refugees (29.5 million) and more internal displacement (involving 41 million people) than at any time since World War II. And "there are fewer refugees going home than ever before." As a result, wealthy nations struggle with large flows of migration. The United States' border policies defy our own standards of humanity.
"A new and chilling normal is coming into view," Miliband concluded. "Civilians seen as fair game for armed combatants, humanitarians seen as an impediment to military tactics and therefore unfortunate but expendable collateral, and investigations of and accountability for war crimes an optional extra for state as well as non-state actors."
But these evils cannot be isolated from the larger political corrosion in the rest of the world — and this includes the long-standing democracies themselves. "The checks and balances that protect the lives of the most vulnerable people abroad," he said, "will only be sustained if we renew the checks and balances that sustain liberty at home."
This isn't simply about aligning principle and practice. More fundamentally, when governments abandon a commitment to accountability domestically, they no longer feel any obligation to insist upon it internationally. It's no accident, as Miliband noted, that under President Trump, the U.S. "has dropped the promotion of human rights around the world from its policy priorities."
He pulled no punches: "The new order is epitomized in the photo of Russian President [Vladimir] Putin and Saudi Crown Prince [Mohammed bin] Salman high-fiving each other at the G20 meeting in Argentina in November last year. With Syria in ruins, Yemen in crisis, and political opponents like Boris Nemtsov and Jamal Khashoggi dead, theirs was the embrace of two leaders unencumbered by national institutions or by the fear of international law."
Miliband acknowledged the mistakes of an earlier era (including the Iraq War) but argued that "accountability, not impunity" was on the rise in the 1990s, when there was "an unusual consensus across the left-right divide" about "the need for global rules." We have said goodbye to all that.
In 2002, Samantha Power, later the U.S. Ambassador to the United Nations, wrote "A Problem from Hell: America and the Age of Genocide," a book that stirred consciences about the world's obligations to helpless people unprotected — and often targeted — by sovereign governments.
Nearly two decades on, we are numb, distracted and inward-looking.
Miliband understands that democratic citizens, grappling with their own discontents, will be inclined to look away from the travails of others "until there is a new economic and social bargain that delivers fair shares at home."
But an Age of Impunity not only poses immediate dangers to millions confronting violence far away. It also corrodes the sense of obligation of the privileged in wealthy nations toward those left behind. When anything goes, no one is safe.
E.J. Dionne Jr.

redpajama_set_name: RedPajamaCommonCrawl


Social media has provided a huge amount of user-generated data in capturing urban dynamics. Among them, place-level human behavior has been largely detected through people's check-in records at certain places. Conventionally, places are characterized by a set of pre-defined features, often specified by the owner of the places. In this paper, we argue that capturing socially-meaningful features and dynamics of an urban place may also be done by analyzing human activity traces. We explore the activity-centered representation of urban places as a foundation for understanding local neighborhoods at scale. We analyze activities from several venues using data from MeetUp, a popular local event organizing service. Then, Yelp's business information was used to triangulate the analysis. The results suggest that strategies based on local event data have great potential for modeling socially-meaningful urban places at large scale.
Lee, M., Farzan, R., & Butler, B. (2016, May). This is Not Just a Café: Toward Capturing the Dynamics of Urban Places. In The CityLab Workshop in 10th International AAAI Conference on Web and Social Media (ICWSM) . pp. 20-25. Cologne, Germany.


text:
US8245078B1 - Recovery interface - Google Patents
Recovery interface Download PDF
Paresh Chatterjee
Narayanan Balakrishnan
Anandh Mahalingam
Balasubramaniam Veeranna
American Megatrends Inc
2008-12-22 Application filed by American Megatrends Inc filed Critical American Megatrends Inc
2009-03-02 Assigned to AMERICAN MEGATRENDS, INC. reassignment AMERICAN MEGATRENDS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BALAKRISHNAN, NARAYANAN, V, BALASUBRAMANIAM, CHATTERJEE, PARESH, MAHALINGAM, ANANDH
G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
G06F11/14—Error detection or correction of the data by redundancy in operation
G06F11/1402—Saving, restoring, recovering or retrying
G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
G06F2201/82—Solving problems relating to consistency
G06F2206/00—Indexing scheme related to dedicated interfaces for computers
G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
G06F2206/1008—Graphical user interface [GUI]
A user interface is provided through which a user may specify a container for data recovery. In response to the specification of a container for recovery, another user interface is provided through which the user can select a consistency group or a journal file to be utilized for recovery. In response to receiving a selection of a journal file for data recovery, a user interface is provided through which a user may specify a point in time, an event, or a snapshot at which time recovery for the corresponding volume should occur. In response to receiving a selection of a consistency group for recovery, a user interface is provided through which a user may specify a snapshot performed across two or more volumes of the consistency group that should be utilized for recovery.
CROSS-REFERENCE TO RELATED APPLICATION
This application claims the benefit of U.S. provisional patent application No. 61/015,847, filed on Dec. 21, 2007, and entitled "User Interface for Logical Disaster Recovery," which is expressly incorporated herein by reference in its entirety.
Data storage and integrity are important components of information age business operations. Enterprises are increasingly moving toward data protection and disaster recovery strategies to prepare for, and recover from, data loss disasters. While some risks to stored data are physical and tangible (for example, failure of a disk drive, fire, or floods), other dangers are intangible or logical (for example, accidental deletion of files or an attack by a computer virus). Data may be protected from the first category of dangers through physical means, such as remote replication, redundant arrays of inexpensive disks ("RAID"), highly available systems, tape backups, and other mechanisms.
The second category of inadvertent erasure or modification of data is traditionally mitigated through other types of approaches. For example, different solutions may employ file versioning, storage system snapshots, tape backups, or periodic backup to a remote server. Many of these solutions are periodic, meaning that they may be executed once a day or even less frequently. As such, when data needs to be recovered, there is a potential for data loss as great as the amount of data created during the time period between two backups.
Requirements to protect against loss of data, along with various regulatory compliance requirements, are driving a move toward solutions involving Continuous Data Protection ("CDP"). According to the Storage Networking Industry Association's ("SNIA") CDP Special Interest Group, CDP is a "methodology that continuously captures or tracks data modifications and stores changes independently of the primary data, enabling recovery points from any point in the past. CDP systems may be block, file, or application-based and can provide fine granularities of restorable objects to infinitely variable recovery points." Such a definition implies three primary aspects to a CDP implementation: the ability to track and capture data; the ability to rollback to any point in the history of the volume; and the ability to store captured data in a location external to the main data.
At the time a CDP system is rolled back, a system operator generally considers the protected data in order to establish a recovery point. Generally, a desired recovery point is very close to the time of a data loss or storage disaster, yet strictly before the loss event so as to ensure data integrity. An operator may wish to perform a recovery review, stepping back and forth to different history points around the time of data loss. In a traditional CDP system, the operator is generally restricted to reviewing in only one direction. This direction is typically the backwards direction and if forward review is desired, the operator may have to recreate the copy of the volume and restart the review process. This procedure does not afford quick and efficient scanning backward and forward through the protected data to find the desired recovery point. As a result, a preferred recovery point for rolling back the volume may not be readily obtainable in a traditional CDP system.
It is with respect to these considerations and others that the disclosure made herein is presented.
Concepts and technologies are described herein for providing a user interface for recovering the contents of a storage system, such as in response to the occurrence of a disaster that causes data loss. Through an implementation of the concepts and technologies presented herein, a recovery review can be quickly and easily performed. In particular, the point in time at which recovery should be performed may be graphically specified as a point in time, an event, or a snapshot. The particular point in time, event, or snapshot may be specified by graphically moving through time, events, and snapshots in a chronological manner.
According to one embodiment, a user interface for data recovery is provided for use in conjunction with a storage system that provides CDP functionality. The CDP functionality may be provided through a number of different mechanisms, including journaling and storage snapshots. Journaling refers to a process by which all input/output ("I/O") operations to an enabled storage volume are logged to a sequential journal volume. A snapshot is a read-only volume that is a point-in-time image of a data storage volume that can be created, mounted, deleted, and rolled back onto the data storage volume arbitrarily. Snapshots may be simultaneously taken across a set of volumes such as a consistency group.
According to one implementation, a user interface, referred to herein as the "storage pool management" user interface, is provided through which a user may specify a container for data recovery. A container is a group of logical drives operating together. In response to the specification of a container for recovery, another user interface is provided through which the user can select a consistency group or a journal file to be utilized for data recovery. A consistency group is a set of volumes for which all write I/Os within a given time period are treated collectively. A journal file is a file containing a log of all I/O operations.
In response to receiving a selection of a journal file for data recovery, a user interface, referred to herein as the "flashback" user interface, is provided. Through the flashback user interface, a user may specify a point in time, an event, or a snapshot the time of which at which recovery for the corresponding volume should occur. In one embodiment, the flashback user interface provides two views: a log view and an event view. The log view includes user interface controls for graphically representing the time at which events in the journal file occurred and for allowing a user to select the time of one of the events as the time at which recovery should occur.
According to embodiments, the log view is further configured to graphically represent the time at which one or more snapshots identified in the journal file occurred and for allowing a user to select the time of one of the snapshots as the time at which recovery should occur. The time at which recovery should be performed may also be selected in discrete time units. According to one embodiment, a user interface control is provided through which a user may change the time, event, or snapshot at which time recovery should occur in discrete time units. A user interface control may also be provided for defining the discrete time units.
The log view may also include a user interface control for receiving a request to perform recovery at the specified time, event, or snapshot. In response to receiving such a request, the user interface presented herein is configured to transmit a request to a storage system to perform the data recovery at the specified point. A graphical representation of the progress of the recovery operation may also be provided.
According to other embodiments, the event view of the flashback user interface includes a user interface for specifying the time of an event as the time at which recovery should occur. For instance, a time-ordered list of events may be displayed. The user may be permitted to scroll through the events and to select one of the events to identify the point in time at which recovery should occur. Events may include snapshots, application events, and operating system events. The event view may also include a user interface control for receiving a request to perform recovery at the time of the specified event.
In response to receiving a selection of a consistency group for recovery, a user interface, referred to herein as the "retrospect" user interface, is provided. The retrospect user interface provides a user interface through which a user may specify a snapshot performed across two or more volumes of the consistency group that should be utilized for recovery. The retrospect user interface includes a graphical representation of each of the available snapshots for the consistency group. In one implementation, the graphical representations are sized according to the time at which the corresponding snapshot was created. Each graphical representation is selectable to specify the time of a corresponding snapshot for recovery. User interface controls may be provided for scrolling through the available snapshots. The snapshots may be animated to graphically indicate the point in time at which they were taken.
It should be appreciated that the above-described subject matter may also be implemented as a computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as a computer-readable medium. These and various other features will be apparent from a reading of the following Detailed Description and a review of the associated drawings.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
FIG. 1 is a user interface diagram showing an illustrative user interface for selecting a storage container utilized in one embodiment presented herein;
FIGS. 2-3 and 16 are user interface diagrams showing illustrative user interfaces for selecting a journal file or a consistency group in one embodiment;
FIGS. 4-11 and 14-15 are user interface diagrams showing a log view of a user interface for specifying a point in time, an event, or a snapshot that defines the time at which recovery of a storage volume should occur;
FIGS. 12-13 are user interface diagrams showing an event view of a user interface for specifying the time at which a storage event occurred as the time at which recovery of a storage volume should occur;
FIGS. 17-19 are user interface diagrams showing a user interface through which a user may specify a snapshot that should be utilized for data recovery;
FIG. 20 is a flow diagram showing one illustrative process presented herein for providing a user interface for data recovery;
FIG. 21 is a network diagram showing one illustrative operating environment for the embodiments presented herein; and
FIG. 22 is a computer architecture diagram illustrating a computer hardware architecture for a computing system capable of embodying aspects of the concepts and technologies presented herein.
The following detailed description is directed to technologies for data recovery. While the subject matter described herein is presented in the general context of program modules that execute in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
As discussed briefly above, the embodiments presented herein include user interfaces for data recovery, including logical disaster recovery. The user interfaces described herein operate in conjunction with a storage system capable of providing CDP. For instance, in one implementation, the user interfaces presented herein operate in conjunction with a computing system capable of providing CDP through the use of a journaling module.
The journaling module utilized in embodiments presented herein provides time addressable storage ("TAS") as well as event addressable storage ("EAS"). In order to provide this functionality, the journaling module logs all I/O operations to an enabled storage volume to a sequential journal volume. This logging can occur in parallel to the I/O operation, thereby having little, or no, impact on the performance of the storage system. Previous data need not be backed up; instead only new I/O operations may be recorded in a journal file (which might be referred to herein as the "journal"), or log, stored on the journal volume.
According to another aspect, the journaling module might also record snapshot events to the journal. When a snapshot of a storage volume is created, that occurrence of the snapshot may be recorded in the journal along with other I/O operations.
When data stored on a volume needs to be recovered, a writable snapshot taken prior to the desired recovery point can be mounted. The I/O operations occurring after the creation of the snapshot, but prior to the desired recovery point, can be played back onto the snapshot. Using an efficient snapshot technology, the recovery time from mounting the previous snapshot and playing back the operations from the journal may be extremely fast. Such a system can provide excellent recovery point objective ("RPO") performance as well as excellent recovery time objective ("RTO") performance. This performance may reduce the cost associated with downtime and can provide considerable improvement over traditional CDP approaches. Additional details regarding such a journaling module can be found in U.S. patent application Ser. No. 12/173,188, filed on Jul. 15, 2008, and entitled "Continuous Data Protection Journaling in Data Storage Systems", which is expressly incorporated by reference herein in its entirety. It should be appreciated that any volume that has been enabled for journaling in the manner described above may be utilized with the user interface provided herein.
It should be appreciated that embodiments presented herein may also be utilized with storage systems configured to organize two or more volumes into a single consistency group. A consistency group is a set of volumes for which all write I/Os within a given time period are treated collectively. For instance, when multiple volumes are grouped together into a single consistency group, all write I/Os to the volumes will be treated collectively. As a result, the write I/Os pertaining to the related volumes will be kept in the same bucket. The bucket meta-data may include information to identify the volume that a particular zone of an I/O belongs to.
It should be appreciated that consistency groups further enhance application-aware consistency points, such that the consistency is now maintained across all the volumes of the consistency group. Furthermore, events such as snapshots may be maintained across all of the volumes of a consistency group, thereby providing complete application-aware point in time snapshots. Additional details regarding the use and implementation of consistency groups can be found in U.S. patent application Ser. No. 11/695,854, filed on Apr. 3, 2007, and entitled "Asynchronous Data Replication", which is expressly incorporated by reference herein in its entirety.
The embodiments presented herein may also be utilized with storage systems that provide functionality for structuring a virtualized cluster as one or more containers. A container is a group of logical drives operating together. Additional details regarding the use, implementation, and management of containers can be found in U.S. patent application Ser. No. 12/104,135, filed on Apr. 16, 2008, and entitled "Container Space Management in a Data Storage System", which is expressly incorporated by reference herein in its entirety.
The embodiments presented herein may also be utilized with a storage system capable of performing snapshots. A snapshot is a read-only volume that is a point-in-time image of a data storage volume that can be created, mounted, deleted, and rolled back onto the original data storage volume arbitrarily. Snapshots are utilized extensively for security, backup, and archival purposes. One mechanism for implementing storage snapshots is described in U.S. Pat. No. 7,373,366, issued on May 13, 2008, and entitled "Method, System, Apparatus, and Computer-Readable Medium for Taking and Managing Snapshots of a Storage Volume", which is expressly incorporated herein by reference in its entirety. It should be appreciated that the illustrative storage system illustrated in FIGS. 21-22 and discussed below may support the functionality described above for journaling, snapshots, containers, consistency groups, and others.
In the following discussion, references are made to the accompanying drawings that form a part hereof, and which are shown by way of illustration specific embodiments or examples. Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of a computing system and methodology for providing a user interface for data recovery in a CDP system will be described.
As discussed briefly above, the embodiments presented herein are utilized in conjunction with a storage system that supports CDP through a journaling module. As a result, all volumes and volume groups that have been enabled for journaling will be available for CDP and for use with the user interfaces presented herein. Additionally, the user interfaces presented herein provide a mechanism to consistently review and recover volumes of a consistency group. For storage area network ("SAN") volumes or volume groups that are not enabled for journaling, the user interfaces presented herein provide a mechanism to group these volumes together logically during the recovery process and to recovery data across all the volumes together.
In order to access the user interfaces provided herein for data recovery, a user may first select a container for recovery. FIG. 1 shows one illustrative user interface 100 for selecting a container. The storage pool management user interface 100 shown in FIG. 1 includes a tree 102 through which a user may select a desired container for data recovery. Details regarding the selected container, such as the name, physical capacity, used space, available space, and the logical discs associated with the container may be displayed in the user interface 100. The user interface 100 may also include additional functionality for adding additional logical discs or deleting a logical disc.
In order to access the functionality provided herein for data recovery, a user may select the user interface button 104. It should be appreciated that the user interface illustrated in FIG. 1 is merely illustrative and that other types of user interfaces may be provided for allowing a user to select a container for data recovery. It should also be appreciated that a user may interact with the user interfaces as described herein using any suitable user input mechanism, such as a mouse, keyboard, touch screen, or digitizer tablet.
In response to receiving the selection of a container for data recovery and the button 104 shown in FIG. 1, the user is presented with the user interface 200 shown in FIG. 2. The CDP control user interface 200 shown in FIG. 2 provides a user interface through which a user may specify a consistency group or a journal file to be used for recovery. The user may also select individual volumes for recovery utilizing the user interface 200.
The user interface 200 also provides user interface controls for allowing a user to specify the time period during which the recovery may be performed. In one embodiment, a default start time is set as the time of creation of the container or volume and the end time is set at the current time. As will be described in detail below, the time period can be modified utilizing the user interface controls provided by the user interface 200.
As shown in FIG. 2, the user interface 200 includes user interface controls 202A-202B for selecting a volume or a consistency group, respectively. In response to selecting one of the user interface controls 202A-202B, the volumes or consistency groups associated with the container selected utilizing the user interface 100 are displayed in the pane 204. An appropriate user interface control, such as a check box, may then be selected to specify the consistency group or journal that should be utilized for data recovery. In the example shown in FIG. 2, the consistency group named "NASCG" has been selected.
As discussed briefly above, the user interface 200 also provides a date/time selection pane 206 through which a user may specify the time period during which data should be recovered. As will be described in detail below, the selected time period is utilized to display events and/or snapshots taken during the time period, and to allow a user to select one of these occurrences as the time at which data recovery should occur. Additionally, controls are provided for fine tuning the time at which data recovery should be performed.
As shown in FIG. 2, the user interface 200 further includes the user interface buttons 104B-104D. Selection of the user interface button 104B will return the display to the user interface illustrated in FIG. 1. Selection of the user interface button 104D will cause the data recovery operation to be canceled. Selection of the user interface 104C will cause another interface to be displayed for data recovery. The type of user interface that is displayed in response to the selection of the user interface button 104C depends upon whether a consistency group or a journal file has been selected for data recovery. If a journal file is chosen through the user interface 200, and journal data is available during the time period specified through the date/time selection pane 206, the user interface described below with respect to FIGS. 4-15 is provided. If a consistency group is selected, then the user interface described below with respect to FIGS. 17-19 is provided. Additional details regarding both of these user interfaces will be provided below with respect to these figures.
In the example user interface 200 shown in FIG. 3, a user has selected the journal file named "JOF". The user has also selected a time period between 5:00 and 5:30 on May 31, 2007 using the date/time selection pane 206. If the user then selects the user interface button 104C, the user will be presented with the user interface 400 shown in FIG. 4.
FIG. 4 shows a "flashback" user interface 400 provided in one embodiment herein for specifying a point in time, event, or snapshot, the time of which recovery for the selected volume should occur. More particularly, the user interface shown in FIG. 4 shows a "log view" of the user interface 400. As will be described in greater detail below with respect to FIGS. 12-13, the user interface 400 also provides an "event view".
As will be described in greater detail below, the user interface 400 allows a user to choose a point or event in time, review the data at the selected point or event in time, and to roll the selected volume back to the selected point or event in time. The user interface 400 also allows a user to control the review at the I/O level. The event view discussed below with reference to FIGS. 12-13 allows the user to choose an appropriate event to review and restore. Both the log view and the event view provide a representation of the time at which a selected event or snapshot occurred by indicating the time of day graphically. Additionally, the user interface 400 allows a user to freely review both in the forward and backward directions.
As illustrated in FIG. 4, the user interface 400 in one embodiment is subdivided into four different panels. In particular, a time slider panel 402 is provided that illustrates graphically the events and snapshots that have been journaled. A time step control panel 406 is provided through which a user can specify the time step that is utilized by the time slider panel 402. A main control panel 404 is provided through which a user can move forward and backward in time based upon events, snapshots, or the time steps specified utilizing the time step control panel 406. A progress and review panel 408 is also provided through which a user can request to review the volume at the point in time selected using the time slider panel 402 or to roll back the selected volume to the point in time selected using the time slider panel 402. Additional details regarding the panels 402-408 will be provided below.
As shown in FIG. 4, a user interface button 104E is also provided which, when selected, will cause the user interface 400 to switch to the event view that is described below with respect to FIGS. 12-13. A user interface button 104B is also provided which, when selected, will return the display to the user interface 200 shown in FIG. 2. A user interface button 104D is also provided which, when selected, will cancel the data recovery operation.
Referring now to FIG. 5, additional details regarding the time slider panel 402 will be provided. As shown in FIG. 5, the time slider panel 402 includes a slider control 502 that can be dragged utilizing an appropriate user input device to any point on the line 504. The line 504 corresponds to the context shown in events/snapshot display 506. In the event/snapshot display, events and snapshots taken on the selected volume are displayed chronologically and in a graphical manner. For instance, in the embodiment shown in FIG. 5, events and snapshots are represented by the indicators 508A-508N. In one particular embodiment, the indicators 508A-508N may be color coded in order to indicate whether the corresponding occurrence was an event or a snapshot. Additionally, portions of the event/snapshot display 506 may be colored in order to indicate the presence or absence of journal data.
It should be appreciated that the slider control 502 corresponds to the events and snapshots indicated in the event/snapshot display 506. The slider control 504 can be moved to any given time at which data needs to be restored. The main control panel 404 may be utilized to precisely control the recovery time.
Referring now to FIG. 6, additional details will be provided regarding the operation of the main control panel 404. As discussed briefly above, the main control panel 404 may be utilized to precisely control the recovery time. When selections are made within the main control panel 404, the slider control 502 is moved to a corresponding position on the event/snapshot display 506. In particular, the main control panel 404 includes an analog clock display 602 and a digital clock display 606 indicating the time corresponding to the location of the slider control 502. Additionally, the main control panel 404 includes a number of user interface controls for specifically modifying the location of the slider control 502. In particular, the controls 604A-604B may be selected to move the slider control 502 in discrete time increments. In one embodiment, a default time increment of one second is specified. The time increment may be changed using the time step control panel 406, which is described in greater detail below with respect to FIG. 7. Additionally, a number of I/O operations to be performed can also be specified in the main control panel 404.
In one embodiment, the main control panel 404 also includes the controls 604C-604D for discretely moving the slider control 502 between the events displayed in the event/snapshot display. In this manner, the slider control 502 can be discretely moved between events, rather than using time steps. The controls 604E-604F are provided to discretely move the slider control 502 between snapshot events represented in the event/snapshot display 506. It should be appreciated that the main control panel 404 provides great flexibility for modifying the location of the slider control 502 to particularly select the time at which data recovery should occur.
Referring now to FIG. 7, additional details regarding the time step control panel 406 will be described. As discussed briefly above, the time step control panel 406 includes user interface controls for changing the discrete time units at which the slider control 502 is moved. In one implementation, the time step control panel 406 includes a graphical display 702 of the current time step setting. User interface buttons 704A-704B are also provided for decreasing or increasing the time step value, respectively. A text field 706 shows the currently selected time step value. A user interface button 708 is also provided for displaying a legend.
Turning now to FIG. 8, additional details will be provided regarding the progress and review panel 408. In one implementation, the progress and review panel 408 includes user interface buttons 804A and 804B. When selected, the user interface button 804A will cause the storage system to provide a writeable image of the volume at the time specified by the time slider panel 402. The review process does not modify the original volume, but rather provides a writable image that may be utilized to ensure that the specified data recovery will be performed in the desired manner. If the user interface button 804B is selected, an actual rollback operation will occur on the data volume. A progress gauge 802 is provided to show the progress of the review and rollback operations. An alert indicator 806 may also be provided to notify the user that a problem occurred with a review or rollback operation. It should be appreciated that the review and rollback operations occur at the time specified by the time slider panel 402 or the main control panel 404.
As discussed briefly above, the controls 604E-604F may be utilized to move the slider control 502 forward and backward to snapshots specified in the event/snapshot display. FIG. 9 illustrates this process. In the example shown in FIG. 9, the control 604F has been selected in order to advance the slider control 502 to the indicator 508K, which corresponds to a snapshot event. Additionally, it should be appreciated that through the advancement of the slider control 502, the clock displays 602 and 606 have been modified in order to show the time corresponding to the location of the slider control 502.
In the example shown in FIG. 10, the controls 604A-604B have been utilized in order to perform time-based movement of the slider control 502. As discussed above, the movement of the slider control 502 in this regard is performed according to the time steps specified through the time step control panel 406. In the example shown in FIG. 10, the slider control 502 has been advanced to a point in time shown by the clock displays 602 and 606. It should be appreciated that through the use of the control 604A-604B a user may move the slider control 502 in discrete time units not connected to any event or snapshot.
In the example shown in FIG. 11, a user has utilized the control 604C-604D to advance the slider control 502 to the indicator 508P. As discussed above, the controls 604C-604D allow a user to move the slider control 502 discretely between events. In the example shown in FIG. 11, the indicator 508P corresponds to an event. For instance, an event may include a snapshot, an application event, or an operating system event. As illustrated in FIG. 11, the clock displays 602 and 606 have been updated to indicate the current position of the slider control 502.
As discussed above, the flashback user interface 400 includes an alternative view, referred to herein as the event view. Selection of the button 104E will cause the user interface 400 to switch to this view. For instance, if a user selects the user interface button 104E shown in FIG. 11, the user interface 400 shown in FIG. 12 will be displayed.
As discussed briefly above, the event view provided by the user interface 400 includes an event list 1202 identifying the events specified in the journal within the selected time period. As also discussed above, events may include snapshots, application events, and operating system events. For instance, application events may include modifications performed when an application accesses a database. For example, an event occurs when an application, such as a database management application performs a checksum operation or a transaction. Operating system events may be retrieved from an operating system log to enable the user to correlate events in the user interface 400. Selecting any event in the list 1202 will provide information regarding the process that resulted in the occurrence of the event.
It should be appreciated that the event view illustrated in FIGS. 12-13 enables a user to select one of the events identified in list 1202 and to review or rollback to a point in time identified by that event. For example, in the user interface 400 shown in FIG. 13, a user has selected the first event identified in the list 1202. In response to the selection of the event, data 1204 has been displayed indicating the process that generated the event. Once an event has been selected in this manner, a user may select the buttons 804A-804B to review or rollback the volume to the point of the selected event, respectively. It should be appreciated that a user may return to the log view shown in FIGS. 3-11 by selecting the user interface button 104E.
As discussed briefly above, a user may select the user interface buttons 804A-804B to review or rollback a volume to the point in time selected by the slider control 502. In response to such a selection, the progress gauge 802 indicates the progress of the review or rollback operation. Other indications may also be provided to indicate that the review or rollback operation is proceeding. Once the review or rollback operation has completed, the alert indicator 806 is displayed and the status of the review or rollback operation can be obtained by selecting the alert indicator 806. The advancement of the progress gauge 802 is illustrated in FIG. 14.
When a review or rollback operation has been completed, an indicator 1502 may be displayed. Additionally, the progress gauge 802 may indicate a 100% completion. When the review operation has completed, a writeable image of the volume at the time specified using the slider control 502 is provided for use. If a consistency group is being reviewed, a single target with all consistent volumes as a logical unit number is created.
An application server may be connected to the provided image and a consistency check may be performed on the volume to make sure that the image is satisfactory. Once the administrator is satisfied that the volume is appropriate, a rollback operation may be performed on the volume. If an administrator is not satisfied with the review process, another review point may be chosen utilizing the user interface 400 and another review operation may be performed. The review process may be performed as many times as necessary to obtain a satisfactory rollback point.
As discussed briefly above, the user interfaces provided herein also include the "retrospect" user interface shown in FIG. 17. The retrospect user interface is utilized to restore individual volume data based upon snapshots. In order to access the retrospect user interface, a consistency group is selected through the user interface 200. For instance, in the example shown in FIG. 16, a consistency group named "NASCG" has been selected. In response to the selection of a consistency group and the selection of the user interface button 104C, the retrospect user interface 1700 shown in FIG. 17 is presented.
As illustrated in FIG. 17, the user interface 1700 provides a graphical representation of the snapshots that have been created for the selected consistency groups. When the user interface 1700 is first displayed, the most recent snapshot is displayed by a graphical representation displayed in the foreground position. Earlier snapshots are represented by graphical representations that are smaller in size, and thereby indicate that they occurred at a previous point in time. For example, in the illustrative user interface 1700 shown in FIG. 17, the representation 1702A is displayed in the most foreground position and has the largest size. The representation 1702B is displayed smaller than the representation 1702A and behind the representation 1702A. Similarly, the representation 1702C is displayed the furthest back and has the smallest size. It should be appreciated that each of the representations 1702A-1702C corresponds to a snapshot and has been displayed in a manner to visually indicate the time at which each of the corresponding snapshots was taken.
As shown in FIG. 17, the user interface 1700 also includes a snapshot list 1704 that displays data regarding the snapshots in a chronologically ordered list. It should be appreciated that the snapshots identified in the snapshot list 1704 are the same snapshots identified by the representations 1702A-1702C.
In one implementation, the representations 1706A-1706B may be utilized to access all of the available snapshots. For instance, in one implementation, the selection of the user interface button 1706A may cause the display of the representations 1702A-1702C to be modified so that a snapshot previous in time is brought to the foreground. Additionally, the list 1704 may also be scrolled in order to display the appropriate snapshots. The user interface button 1706B may be utilized to move the display of the snapshots in the opposite direction. This process is illustrated with respect to FIG. 18.
As shown in the example user interface 1700 illustrated in FIG. 18, a current snapshot is represented by the representation 1702D. Snapshots forward in time from the current snapshot are represented by the representations 1702B-1702C. Snapshots previous in time are represented by the representation 1702E-1702F. In one embodiment, when the user interface buttons 1706A-1706B are selected, the representations 1702 are animated from a current position to a new position. In this manner, the snapshot representations appear to "fly in" from a previous point in time to the current snapshot into the current snapshot position or from the current snapshot position to a time in advance of the current snapshot position.
Once the appropriate snapshot has been moved into the current snapshot position, such as the representation 1702D, the user interface buttons 804A-804B may be selected to either review or rollback the consistency group to the selected snapshot. As discussed above, any number of review operations may be performed prior to a rollback operation. Additionally, the user interface button 104B may be selected to return the user interface display to the user interface 200. Alternatively, the user interface button 104D might be selected to cancel the recovery operation. In the example shown in FIG. 19, a review operation has been performed through the selection of the user interface button 804B. In response thereto, data 1902 has been displayed indicating that the consistency group is ready for review. Additional data may also be provided regarding the status of the review or rollback operations.
While the subject matter described herein has been presented in the general context of program modules that execute in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
Turning now to FIG. 20, additional details will be provided regarding the embodiments presented herein for providing a user interface for data recovery. In particular, FIG. 20 is a flow diagram showing a routine 2000 that illustrates aspects of one process for providing the user interfaces described above with respect to FIGS. 1-19, above, according to one exemplary embodiment. It should be appreciated that the process illustrated in FIG. 20 may be provided by executing software components on the computing systems shown in FIGS. 21-22, and described in detail below.
It should be appreciated that the logical operations described herein are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as operations, structural devices, acts, or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. It should also be appreciated that more or fewer operations may be performed than shown in the figures and described herein. These operations may also be performed in parallel, or in a different order than those described herein.
The routine 2000 begins at operation 2002, where a user interface for specifying a container upon which data recovery should be performed is provided. In one embodiment, the user interface 100 shown in FIG. 1 and described above is provided for specifying an appropriate container. An appropriate container is specified utilizing the user interface 100 at operation 2004.
From operation 2004, the routine 2000 proceeds to operation 2006 where an appropriate user interface is provided for specifying a journal file or consistency group upon which data recovery should be performed. An illustrative user interface 200, described above with reference to FIG. 2, is provided in one embodiment for allowing a user to specify a journal file or consistency group. A selection of a journal file or consistency group for recovery is received at operation 2008.
From operation 2008, the routine 2000 proceeds to operation 2010 where a determination is made as to whether a journal file or a consistency group has been selected for recovery. If a journal file has been selected for recovery, the routine 2000 proceeds from operation 2010 to operation 2012, where the user interface 400 described with respect to FIGS. 4-15 is provided. As discussed above, the user interface 400 allows a user to specify the point in time at which recovery should occur. If, at operation 2010, a consistency group is selected, the routine 2000 proceeds to operation 2014. At operation 2014, the user interface 1700, described above with respect to FIGS. 17-19, is provided through which a user can specify a snapshot of the consistency group for restoration.
From operations 2012 and 2014, the routine 2000 proceeds to operation 2016. At operation 2016, a determination is made as to whether a user has requested to review the results of a rollback operation prior to actually rolling back the volume data. If so, the routine 2000 proceeds to operation 2018 where a writeable image of the volume is provided for review at the specified point in time. If, at operation 2016, it is determined that a user has not requested to review a data recovery operation, the routine 2000 proceeds to operation 2020. At operation 2020, a determination is made as to whether a user has requested to rollback to a particular point in time specified through the user interfaces 400 or 1700. If so, the routine 2000 proceeds to operation 2022, where the volume is rolled back to the specified point in time. If a user has not requested to roll back, the routine 2000 proceeds to operation 2024, where it ends. The routine 2000 also proceeds to operation 2024 from the operations 2022 and 2018.
Turning now to FIG. 21, details will be provided regarding an illustrative operating environment for the implementations presented herein. In particular, FIG. 21 shows a network architecture diagram showing aspects of a storage system that enables CDP through the use of a journaling module, snapshots, containers, and consistency groups, and that provides the UI described above for data recovery. It should be appreciated that the architecture shown in FIG. 21 is merely illustrative and that other storage systems providing CDP functionality may be utilized to implement the embodiments presented herein.
The illustrative storage system illustrated in FIG. 21 includes several virtualized clusters 2105A-2105B. A virtualized cluster is a cluster of different storage nodes that together expose a single storage device. In the example storage system 2100 shown in FIG. 21, the clusters 2105A-2105B include the storage server computers 2102A-2102G (also referred to herein as "storage nodes" or a "node") that are operative to read and write data to one or more mass storage devices, such as hard disk drives. The cluster 2105A includes the nodes 2102A-2102D and the cluster 2105B includes the nodes 2102E-2102G.
According to implementations, the nodes within a cluster may be housed in a one rack space unit storing up to four hard disk drives. For instance, the node 2102A is a one rack space computing system that includes four hard disk drives 2104A-2104D. Alternatively, each node may be housed in a three rack space unit storing up to fifteen hard disk drives. For instance, the node 2102E includes fifteen hard disk drives 2104A-2104N. Other types of enclosures may also be utilized that occupy more or fewer rack units and that store fewer or more hard disk drives. In this regard, it should be appreciated that the type of storage enclosure and number of hard disk drives utilized is not generally significant to the implementation of the embodiments described herein. Any type of storage enclosure and virtually any number of hard disk devices or other types of mass storage devices may be utilized.
As shown, multiple storage nodes may be configured together as a virtualized storage cluster. For instance, the nodes 2102A-2102D have been configured as a storage cluster 2105A and the nodes 2102E-2102G have been configured as a storage cluster 2105B. In this configuration, each of the storage nodes 2102A-2102G is utilized to field I/O operations independently, but are exposed to the initiator of the I/O operation as a single device. It should be appreciated that a storage cluster may include any number of storage nodes. A virtualized cluster in which each node contains an independent processing unit, and in which each node can field I/Os independently (and route them according to the cluster layout) is called a horizontally virtualized or peer cluster. A cluster in which each node provides storage but the processing and mapping is done completely or primarily in a single node, is called a vertically virtualized cluster.
Data may be striped across the nodes of each storage cluster. For instance, the cluster 2105A may stripe data across the storage nodes 2102A, 2102B, 2102C, and 2102D. The cluster 2105B may similarly stripe data across the storage nodes 2102E, 2102F, and 2102G. Striping data across nodes generally ensures that different I/O operations are fielded by different nodes, thereby utilizing all of the nodes simultaneously, and that the same I/O operation is not split between multiple nodes. Striping the data in this manner provides a boost to random I/O performance without decreasing sequential I/O performance.
According to embodiments, each storage server computer 2102A-2102G includes one or more network ports operatively connected to a network switch 2106 using appropriate network cabling. It should be appreciated that, according to embodiments of the invention, Ethernet or Gigabit Ethernet may be utilized. However, it should also be appreciated that other types of suitable physical connections may be utilized to form a network of which each storage server computer 2102A-2102G is a part. Through the use of the network ports and other appropriate network cabling and equipment, each node within a cluster is communicatively connected to the other nodes within the cluster. Many different types and number of connections may be made between the nodes of each cluster.
Each cluster 2105A-2105B is also connected to a network switch 2106. The network switch 2106 is connected to one or more client computers 2108A-2108N (also referred to herein as "initiators"). It should be appreciated that other types of networking topologies may be utilized to interconnect the clients and the clusters 2105A-2105B. It should also be appreciated that the initiators 2108A-2108N may be connected to the same local area network ("LAN") as the clusters 2105A-2105B or may be connected to the clusters 2105A-2105B via a distributed wide area network, such as the Internet. An appropriate protocol, such as the Internet Small Computer Systems Interface ("iSCSI") protocol may be utilized to enable the initiators 2108A-2108D to communicate with and utilize the various functions of the storage clusters 2105A-2105B over a wide area network such as the Internet. As discussed above, the storage clusters 2105A-2105B may provide the functionality presented herein for CDP, including journaling, snapshots, containers, consistency groups, and the user interfaces described above with respect to FIGS. 1-20.
FIG. 22 and the following discussion are intended to provide a brief, general description of a computer architecture for a computer 2202 for executing any of the various software components described herein. The computer architecture shown in FIG. 22 may be utilized to embody any of the nodes 2102, described above. While the technical details are presented herein in the general context of program modules that execute in conjunction with the execution of an operating system, those skilled in the art will recognize that the embodiments may also be implemented in combination with other program modules.
Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the embodiments described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The embodiments described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
FIG. 22 shows an illustrative computer architecture for a computer 2202 that may be utilized to embody the technologies described herein. The computer 2202 includes a baseboard, or "motherboard", which is a printed circuit board to which a multitude of components or devices may be connected by way of a system bus or other electrical communication path. In one illustrative embodiment, a CPU 2222 operates in conjunction with a chipset 2252. The CPU 2222 is a standard central processor that performs arithmetic and logical operations necessary for the operation of the computer. The computer 2202 may include a multitude of CPUs 2222.
The chipset 2252 includes a north bridge 2224 and a south bridge 2226. The north bridge 2224 provides an interface between the CPU 2222 and the remainder of the computer 2202. The north bridge 2224 also provides an interface to a random access memory ("RAM") used as the main memory 2254 in the computer 2202 and, possibly, to an on-board graphics adapter 2230. The north bridge 2224 may also include functionality for providing networking functionality through a gigabit Ethernet adapter 2228. The gigabit Ethernet adapter 2228 is capable of connecting the computer 2202 to another computer via a network. Connections that may be made by the network adapter 2228 may include LAN or WAN connections. LAN and WAN networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. The north bridge 2224 is connected to the south bridge 2226.
The south bridge 2226 is responsible for controlling many of the input/output functions of the computer 2202. In particular, the south bridge 2226 may provide one or more universal serial bus ("USB") ports 2232, a sound adapter 2246, an Ethernet controller 2260, and one or more general-purpose input/output ("GPIO") pins 2234. The south bridge 2226 may also provide a bus for interfacing peripheral card devices such as a graphics adapter 2262. In one embodiment, the bus comprises a peripheral component interconnect ("PCI") bus. The south bridge 2226 may also provide a system management bus 2264 for use in managing the various components of the computer 2220. Additional details regarding the operation of the system management bus 2264 and its connected components are provided below.
The south bridge 2226 is also operative to provide one or more interfaces for connecting mass storage devices to the computer 2202. For instance, according to an embodiment, the south bridge 2226 includes a serial advanced technology attachment ("SATA") adapter for providing one or more serial ATA ports 2236 and an ATA 100 adapter for providing one or more ATA 100 ports 2244. The serial ATA ports 2236 and the ATA 100 ports 2244 may be, in turn, connected to one or more mass storage devices such as the SATA disk drive 38 for storing an operating system 2240 and programs for implementing the functionality presented herein, such as a journaling module and a module for providing the user interfaces described above. As known to those skilled in the art, an operating system 2240 comprises a set of programs that control operations of a computer and allocation of resources. A module is software that runs on top of the operating system software, or other runtime environment, and uses computer resources to perform application specific tasks desired by a user.
According to one embodiment presented herein, the operating system 2240 comprises the LINUX operating system. According to another embodiment, the operating system 2240 comprises the WINDOWS SERVER operating system from MICROSOFT CORPORATION. According to another embodiment, the operating system 2240 comprises the UNIX or SOLARIS operating system. It should be appreciated that other operating systems may also be utilized.
The mass storage devices connected to the south bridge 2226, and their associated computer-readable media, provide non-volatile storage for the computer 2220. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed by the computer 2220. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
A low pin count ("LPC") interface may also be provided by the south bridge 2226 for connecting a "Super I/O" device 2270. The Super I/O device 2270 is responsible for providing a number of input/output ports, including a keyboard port, a mouse port, a serial interface 2272, a parallel port, and other types of input/output ports. The LPC interface may also connect a computer storage media such as a ROM or a flash memory such as a NVRAM 2248 for storing the firmware 2250 that includes program code containing the basic routines that help to start up the computer 2202 and to transfer information between elements within the computer 2202.
As described briefly above, the south bridge 2226 may include a system management bus 2264. The system management bus 2264 may include a BMC 2266. In general, the BMC 2266 is a microcontroller that monitors operation of the computer system 2202. In a more specific embodiment, the BMC 2266 monitors health-related aspects associated with the computer system 2202, such as, but not limited to, the temperature of one or more components of the computer system 2202, speed of rotational components (e.g., spindle motor, CPU Fan, etc.) within the system, the voltage across or applied to one or more components within the system 2202, and the available or used capacity of memory devices within the computer 2202.
The BMC 2266 is communicatively connected to one or more components by way of the management bus 2264. In an embodiment, these components include sensor devices for measuring various operating and performance-related parameters within the computer system 2202. The sensor devices may be either hardware or software based components configured or programmed to measure or detect one or more of the various operating and performance-related parameters. The BMC 2266 functions as the master on the management bus 2264 in most circumstances, but may also function as either a master or a slave in other circumstances. Each of the various components communicatively connected to the BMC 2266 by way of the management bus 2264 is addressed using a slave address. The management bus 2264 is used by the BMC 2266 to request and/or receive various operating and performance-related parameters from one or more components, which are also communicatively connected to the management bus 2264.
It should be appreciated that the architecture shown in FIG. 22 is merely illustrative and that the computer 2202 may comprise other types of computing devices, including hand-held computers, embedded computer systems, personal digital assistants, and other types of computing devices known to those skilled in the art. It is also contemplated that the computer 2202 may not include all of the components shown in FIG. 22, may include other components that are not explicitly shown in FIG. 22, or may utilize an architecture completely different than that shown in FIG. 22.
Based on the foregoing, it should be appreciated that technologies for providing user interfaces for data recovery are presented herein. Although the subject matter presented herein has been described in language specific to computer structural features, methodological acts, and computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts and mediums are disclosed as example forms of implementing the claims.
The subject matter described above is provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.
1. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon which, when executed by a computer, will cause the computer to:
provide a first user interface through which a user may specify a container for recovery;
in response to the specification of a container for recovery through the first user interface, to provide a second user interface through which a user may specify a consistency group or journal file to be used for recovery;
in response to receiving the selection of a journal file through the second user interface, to provide a third user interface through which a user may specify a point or event in time at which recovery should occur; and
in response to receiving the selection of a consistency group through the second user interface, to provide a fourth user interface through which a user may specify a snapshot across two or more volumes of the consistency group that should be utilized for recovery.
2. The non-transitory computer-readable storage medium of claim 1, wherein the second user interface comprises a first user interface control for graphically representing the time at which one or more events identified in the journal file occurred and for selecting the time of one of the events as the time at which recovery should occur.
3. The non-transitory computer-readable storage medium of claim 2, wherein the first user interface control is further configured to graphically represent the time at which one or more snapshots identified in the journal file occurred and for selecting the time of one of the snapshots as the time at which recovery should occur.
4. The non-transitory computer-readable storage medium of claim 3, wherein the first user interface control is further configured to provide functionality for selecting the time at which recovery should occur in discrete time units.
5. The non-transitory computer-readable storage medium of claim 4, wherein the second user interface comprises a second user interface control for changing the time, event, or snapshot at which recovery should occur in discrete time units.
6. The non-transitory computer-readable storage medium of claim 5, wherein the second user interface comprises a third user interface control for changing the discrete time units.
7. The non-transitory computer-readable storage medium of claim 6, wherein the second user interface comprises a fourth user interface control for receiving a request to perform recovery and for graphically illustrating the progress of a recovery operation.
8. The non-transitory computer-readable storage medium of claim 7, wherein the third user interface is further configured to provide a second view for specifying the time of an event as the time at which recovery should occur.
9. The non-transitory computer-readable storage medium of claim 8, wherein an event comprises a snapshot, an application event, or an operating system event.
10. The non-transitory computer-readable storage medium of claim 9, wherein the second view is further configured to receive a request to perform recovery and for graphically illustrating the progress of a recovery operation.
11. The non-transitory computer-readable storage medium of claim 10, wherein the fourth user interface comprises a user interface control configured to display a graphical representation of one or more snapshots available for the consistency group, each graphical representation sized according to the time at which the corresponding snapshot was created.
12. The non-transitory computer-readable storage medium of claim 11, wherein each graphical representation is selectable to specify the time of a corresponding snapshot for recovery.
13. A computing system configured for providing a user interface for data recovery, the computing system comprising:
a hardware processor; and
a memory in communication with the hardware processor, the memory having computer-executable instructions stored thereon that, when executed by the hardware processor, cause the hardware processor to provide a user interface through which a user may specify a consistency group or journal file to be used for recovery, to provide a second user interface through which a user may specify a point in time or event at which recovery should occur in response to receiving the selection of a journal file through the first user interface, and to provide a third user interface through which a user may specify a snapshot that should be utilized for recovery in response to receiving the selection of a consistency group through the first user interface.
14. The computing system of claim 13, wherein the second user interface is configured to provide a second view for specifying the time of an event as the time at which recovery should occur.
15. The computing system of claim 14, wherein the third user interface comprises a user interface control configured to display a graphical representation of one or more snapshots available for the consistency group, each graphical representation sized according to the time at which the corresponding snapshot was created.
16. The computing system of claim 15, wherein each graphical representation is selectable to specify the time of a corresponding snapshot for recovery.
17. A computer-implemented method for providing a user interface for data recovery, the method comprising performing computer-implemented operations for:
providing a first user interface through which a user may specify a consistency group or journal file to be used for recovery;
in response to receiving the selection of a journal file through the first user interface, transforming the contents of the journal file to provide a second user interface through which a user may specify a point or event in time at which recovery should occur; and
in response to receiving the selection of a consistency group through the first user interface, transforming data identifying one or more available snapshots for the consistency group to provide a third user interface through which a user may specify a snapshot that should be utilized for recovery.
18. The method of claim 17, wherein the second user interface is configured to provide a view for specifying the time of an event as the time at which recovery should occur.
19. The method of claim 18, wherein the third user interface comprises a user interface control configured to display a graphical representation of one or more snapshots available for the consistency group, each graphical representation sized according to the time at which the corresponding snapshot was created.
20. The method of claim 19, wherein each graphical representation is selectable to specify the time of a corresponding snapshot for recovery.
US12/340,902 2007-12-21 2008-12-22 Recovery interface Active 2031-03-16 US8245078B1 (en)
US12/340,902 US8245078B1 (en) 2007-12-21 2008-12-22 Recovery interface
US12/340,902 Active 2031-03-16 US8245078B1 (en) 2007-12-21 2008-12-22 Recovery interface
US20110087663A1 (en) * 2009-10-14 2011-04-14 Lenovo (Singapore) Pte, Ltd. Computer capable of retrieving ambiguous information
US20120030573A1 (en) * 2010-08-02 2012-02-02 Sap Ag Framework for ad-hoc process flexibility
US20150026644A1 (en) * 2013-07-19 2015-01-22 Lg Electronics Inc. Mobile terminal and method for controlling the same
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US9009115B2 (en) 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US9069482B1 (en) * 2012-12-14 2015-06-30 Emc Corporation Method and system for dynamic snapshot based backup and recovery operations
US9360995B2 (en) 2007-06-08 2016-06-07 Apple Inc. User interface for electronic backup
US9454587B2 (en) 2007-06-08 2016-09-27 Apple Inc. Searching and restoring of backups
US20170031783A1 (en) * 2015-07-30 2017-02-02 Zerto Ltd. Method for restoring files from a continuous recovery system
US10210050B1 (en) * 2013-12-23 2019-02-19 EMC IP Holding Company LLC Consistency group driven backup
US10308117B2 (en) * 2015-07-15 2019-06-04 Lg Electronics Inc. Vehicle control device and method therefor
US4942579A (en) 1987-06-02 1990-07-17 Cab-Tek, Inc. High-speed, high-capacity, fault-tolerant error-correcting storage system
US5257367A (en) 1987-06-02 1993-10-26 Cab-Tek, Inc. Data storage system with asynchronous host operating system communication link
US5720027A (en) 1996-05-21 1998-02-17 Storage Computer Corporation Redundant disc computer having targeted data broadcast
US5732238A (en) 1996-06-12 1998-03-24 Storage Computer Corporation Non-volatile cache for providing data integrity in operation with a volatile demand paging cache in a data storage system
US5790774A (en) 1996-05-21 1998-08-04 Storage Computer Corporation Data storage system with dedicated allocation of parity storage and parity reads and writes only on operations requiring parity information
US5893919A (en) 1996-09-27 1999-04-13 Storage Computer Corporation Apparatus and method for storing data with selectable data protection using mirroring and selectable parity inhibition
US6098128A (en) 1995-09-18 2000-08-01 Cyberstorage Systems Corporation Universal storage management system
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US20040139128A1 (en) * 2002-07-15 2004-07-15 Becker Gregory A. System and method for backing up a computer system
US20070220309A1 (en) * 2006-02-10 2007-09-20 Andre Jeffrey A Continuous data protection of block-level volumes
US7328366B2 (en) * 2003-06-06 2008-02-05 Cascade Basic Research Corp. Method and system for reciprocal data backup
US20080034019A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler System for multi-device electronic backup
US20080034039A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler Application-based backup-restore of electronic information
US20080034013A1 (en) * 2006-08-04 2008-02-07 Pavel Cisler User interface for backup management
US20080126441A1 (en) * 2006-08-04 2008-05-29 Dominic Giampaolo Event notification management
US7418619B1 (en) * 2004-09-07 2008-08-26 Emc Corporation Backup and restore operations of interdependent system components
US7467165B2 (en) * 2006-09-20 2008-12-16 Hitachi, Ltd. Recovery method using CDP
US7549083B2 (en) * 2003-02-20 2009-06-16 Hitachi, Ltd. Data restoring method and an apparatus using journal data and an identification information
US7650533B1 (en) * 2006-04-20 2010-01-19 Netapp, Inc. Method and system for performing a restoration in a continuous data protection system
US7711712B2 (en) * 2007-03-12 2010-05-04 Hitachi, Ltd. System and method for managing consistency among volumes based on application information
US20100115334A1 (en) * 2008-11-05 2010-05-06 Mark Allen Malleck Lightweight application-level runtime state save-and-restore utility
US7720817B2 (en) * 2004-02-04 2010-05-18 Netapp, Inc. Method and system for browsing objects on a protected volume in a continuous data protection system
US20100217857A1 (en) * 2006-02-16 2010-08-26 Donald Reynold Blea Consolidating session information for a cluster of sessions in a coupled session environment
US7809687B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Searching a backup archive
US7814367B1 (en) * 2004-11-12 2010-10-12 Double-Take Software Canada, Inc. Method and system for time addressable storage
US7853566B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US7873865B2 (en) * 2007-01-24 2011-01-18 Hitachi, Ltd. Apparatus and method for controlling data recovery
US8010900B2 (en) * 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US8024292B2 (en) * 2005-06-29 2011-09-20 Emc Corporation Creation of a single snapshot using a server job request
US20110083098A1 (en) * 2006-08-04 2011-04-07 Apple Inc. User Interface For Backup Management
US7856424B2 (en) * 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US20110087976A1 (en) * 2006-08-04 2011-04-14 Apple Inc. Application-Based Backup-Restore Of Electronic Information
US20090070390A1 (en) * 2006-09-20 2009-03-12 Hitachi, Ltd. Recovery method using cdp
Mac OS X Leopard-Features-Time Machine., accessed Feb. 9, 2009 from http://www.apple.com/macosx/features/timemachine.htlm, 2 pages.
Mac OS X Leopard—Features—Time Machine., accessed Feb. 9, 2009 from http://www.apple.com/macosx/features/timemachine.htlm, 2 pages.
U.S. Appl. No. 12/173,203, filed Jul. 15, 2008, entitled "Data Recovery Point Review in a Continuous Data Protection System," Inventors: Chatterjee et al.
US9009158B2 (en) * 2009-10-14 2015-04-14 Lenovo (Singapore) Pte. Ltd. Computer capable of retrieving ambiguous information
US9348609B2 (en) * 2010-08-02 2016-05-24 Sap Se Framework for ad-hoc process flexibility
US10303652B2 (en) 2011-01-14 2019-05-28 Apple Inc. File system management
US9817729B2 (en) * 2015-07-30 2017-11-14 Zerto Ltd. Method for restoring files from a continuous recovery system
US10157109B2 (en) * 2015-07-30 2018-12-18 Zerto Ltd. Method for restoring files from a continuous recovery system
US7991748B2 (en) 2011-08-02 Virtual data store creation and use
US5504883A (en) 1996-04-02 Method and apparatus for insuring recovery of file control information for secondary storage systems
US8032491B1 (en) 2011-10-04 Encapsulating information in a storage format suitable for backup and restore
US7584337B2 (en) 2009-09-01 Method and system for obtaining data stored in a data store
US9158630B1 (en) 2015-10-13 Testing integrity of replicated storage
US9021452B2 (en) 2015-04-28 Automatic identification of storage requirements, such as for use in selling data storage management solutions
US7904913B2 (en) 2011-03-08 Management interface for a system that provides automated, real-time, continuous data protection
US8145603B2 (en) 2012-03-27 Method and apparatus for data recovery using storage based journaling
US9939981B2 (en) 2018-04-10 File manager integration with virtualization in an information management system with an enhanced storage manager, including user control and storage management of virtual machines
JP4701007B2 (en) 2011-06-15 Fast reverse restore
US9535800B1 (en) 2017-01-03 Concurrent data recovery and input/output processing
US7370164B1 (en) 2008-05-06 Backup of virtual machines from the base machine
US7237075B2 (en) 2007-06-26 Persistent snapshot methods
US10223365B2 (en) 2019-03-05 Snapshot readiness checking and reporting
US8700871B2 (en) 2014-04-15 Migrating snapshot data according to calculated de-duplication efficiency
US8661220B2 (en) 2014-02-25 Computer system, and backup method and program for computer system
CN101243413B (en) 2013-08-14 System and method for virtualizing backup images
US7853567B2 (en) 2010-12-14 Conflict resolution in recovery of electronic data
US6701456B1 (en) 2004-03-02 Computer system and method for maintaining an audit record for data restoration
CN101449269B (en) 2012-12-12 Automated priority restores
US6269381B1 (en) 2001-07-31 Method and apparatus for backing up data before updating the data and for restoring from the backups
US8495019B2 (en) 2013-07-23 System and method for providing assured recovery and replication
US8135674B2 (en) 2012-03-13 Providing a simulated dynamic image of a file system
US6366986B1 (en) 2002-04-02 Method and apparatus for differential backup in a computer storage system
US20170206142A1 (en) 2017-07-20 Single snapshot for multiple applications
Owner name: AMERICAN MEGATRENDS, INC., GEORGIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHATTERJEE, PARESH;BALAKRISHNAN, NARAYANAN;MAHALINGAM, ANANDH;AND OTHERS;SIGNING DATES FROM 20081224 TO 20081226;REEL/FRAME:022328/0566


Its about collaboration between people , I'm interested in how technology can bring people together 'people to people' rather than 'human to computer' interaction . I was interested in the idea of users being able to change the state of another place in some physical way , the sound seemed like an obvious choice. Sound is a physical process and I wanted multiple users to manipluate objects in 'cspace' that inturn activates sounds on all users machines.


text:
WITH ARTWORK – FIRST WBC BRIDGERWEIGHT WORLD CHAMPIONSHIP "THE CONQUEST: OSCAR RIVAS VS. BRYANT JENNINGS"
FIRST WBC BRIDGERWEIGHT
"THE CONQUEST:
OSCAR RIVAS VS. BRYANT JENNINGS"
SUPER BOXING EVENT OCT. 22 AT L'OLYMPIA DE MONTRÉAL
MONTREAL (September 13, 2021) — A great World Boxing Council (WBC) World Championship fight will officially come to fruition on October 22nd, in the bewitching atmosphere of L'Olympia de Montréal, a renovated venue that has kept its captivating cachet. Those who will have the privilege of being there will attend a colorful show in an exceptional environment that they will not soon forget.
For the first time in history, the WBC Bridgerweight title, under 224 pounds, will be on the line. Adopted Quebecer and WBC No. 1 contender for the vacant WBC title, Oscar "Kaboom" Rivas (27-1, 19KO) will face American and No. 3 rated Bryant Jennings (24-4, 14KO), of Philadelphia, Pennsylvania.
This is a major clash for the two fighters and their careers, which promises to be a risky, hotly contested contest. After all, the winner will become the monarch of this new division. This grand and historic showdown marks the return of American television to Canada for the first time since December 2018, as ESPN + retained the broadcast rights to the fight in the United States. In total, this prestigious gala will also be broadcast live in nearly 50 countries.
Rivas was ranked among the world's top 5 heavyweights when he was selected as the No. 1 contender in the WBC's newly created division. In his last fight this past March, he easily disposed of Sylvera Louis by retirement in the 3rd round. In addition, boxing fans remember the fight delivered by "Kaboom" in England on July 20, 2019, against Britain's Dillian Whyte (25-1, 18KO), in his previous outing. Rivas lost by close decision, even though he knocked his opponent down in the 9th round. The loss was very bitter, especially when it became known that Whyte had allegedly tested positive for illegal substances before the fight without BBBofC intervention.
This will be the second clash between Jennings and Rivas, who fought an extremely contested duel on January 2019, in Verona, New York. Also broadcast by ESPN +, Rivas-Jennings I was virtually even after 11 rounds. At the start of the last round, Rivas attacked with an aggressive and intense push to send the American to the floor, and subsequently forced the referee to end the hostilities. Since that time, the Philadelphia boxer has been calling for a rematch.
Jennings has fought one fight since his first fight with Rivas, a decision loss to Rio Olympics silver medalist and mandatory world contender to champion Anthony Joshua, Joe Joyce (13-0, 12KO). Jennings is the only one to have crossed the line against the British giant. The scores of 115-112, 118-119 and 117-110 indicate that Jennings managed to win several rounds in this match, despite it being held in Joyce's backyard in London.
A total of 6 boxing matches are planned for this magnificent evening.
The return of the charismatic Sébastien Bouchard (19-2, 8KO) is confirmed, He will be back in the ring for the second time in 2021, after suffering a major injury against Ayaz Hussain in Quebec in 2019.
Alexandre Roberge (1-1) and Francis Charbonneau (3-1, 1KO) caused a stir March 16th in their 6-round confrontation, which was won by Charbonneau via split decision. The two young boxers will pick up where they left off with another 6-round fight.
The evening's other fights will be announced later this week.
The Oct. 22nd event, presented in association with Mise-O-Jeu, will mark the 49th world Championship fight promoted by GYM since its founding in 2004.
Tickets will go on sale this Saturday, September 18, at 10:00 a.m. ET on ticketmaster.ca. For group orders, contact GYM at 514-383-0666 extension # 5, or by emailing info@groupeyvonmichel.ca.
About Groupe Yvon Michel (GYM): Groupe Yvon Michel is a professional boxing promotion organization founded in 2004 by Yvon Michel, Alexandra Croft and Bernard Barré, each still active within the company, the most prolific organization in the history of professional boxing in Canada. Since its founding, GYM has promoted 158 events in Quebec, all broadcast in Quebec on RDS, TVA Sports or Radio-Canada, in addition to participating in 37 international events outside Quebec. Six boxers became world champions, Joachim Alcine, Jean Pascal, Adonis Stevenson, Artur Beterbiev, Eleider Alvarez and Marie-Eve Dicaire. Sixteen of the organization's boxers have fought in 48 world championship bouts with an excellent record of 24 wins, 22 losses and 2 draws. During this period the major American television networks were more active than ever in coming to Quebec to broadcast GYM's most important events. On 34 occasions, the major American networks presented a GYM event, an exceptional showcase of Quebec knowledge including HBO (8), Showtime (7), ESPN2 (10), Wealth TV (4), Spike TV (2), ESPN (1), CBS (1) and NBC Sports (1).
FACEBOOK: @groupeyvonmichel
INSTAGRAM: @groupeyvonmichel
TWITTER: @yvonmichelGYM
#GroupeYM #RivasJennings2
Source : Groupe Yvon Michel
Relations médias :
Canada: Claire Couturier, couc@msn.com, 438 399-0559
USA: Bob Trieger, bobtfco@hotmail.com, fightpublicist@gmail.com, 978 590-0470, @fightpublicist
Bob Trieger, Chip Mitchell, Full Court Press, Group Yvon Michel, TheFightJournal.com
Previous Raeese Aleem Wants Murodjon Akhmadaliev Next Says WBA Should Mandate this Fight
Next Oct. 15: Emanuel Navarrete-Joet Gonzalez Featherweight Title Fight Set for Pechanga Arena San Diego & LIVE on ESPN+


text:
Q: Checkout maven dependency as module in IntelliJ IDEA I have a maven project that is broken down in a bunch of dependencies, some of which I have RW access to the version control repository.
I'd like switch one from being a read-only dependency to a full project module. Is it possible for IDEA to use the data contained in the POM to do this? I heard that NetBeans does this.

redpajama_set_name: RedPajamaStackExchange


We have performed density-functional theory calculations in conjunction with the climbing image nudged elastic band method in order to study the self-diffusion of oxygen in zinc oxide. To this end, we have derived the complete set of migration paths for vacancies as well as interstitials in wurtzite crystals and deduced expressions which provide the link to experimentally accessible tracer diffusion coefficients. The calculated migration barriers are consistent with annealing experiments on irradiated samples. We find that vacancy and interstitialcy mechanisms dominate under zinc and oxygen-rich conditions, respectively. This refutes the belief that vacancy mechanisms can be operational in experiments in oxygen-rich atmosphere. Our results provide the basis for the (re-)interpretation of diffusion experiments, and pave the way towards the development of reliable continuum models for device simulation.
© 2019 Computational Materials Group. Powered by Jekyll & Minimal Mistakes.


text:
The 2018–19 OHL season was the 39th season of the Ontario Hockey League, in which twenty teams played 68 games each according to the regular season schedule, from September 19, 2018 to March 17, 2019.

The Guelph Storm won the J. Ross Robertson Cup as they defeated the Ottawa 67's in six games to represent the Ontario Hockey League in the 2019 Memorial Cup, which was hosted by the Halifax Mooseheads of the QMJHL at the Scotiabank Centre in Halifax, Nova Scotia from May 17–26, 2019.

Regular season

Final standings
Note: DIV = Division; GP = Games played; W = Wins; L = Losses; OTL = Overtime losses; SL = Shootout losses; GF = Goals for; GA = Goals against; PTS = Points; x = clinched playoff berth; y = clinched division title; z = clinched conference title

Eastern conference

Western conference

Scoring leaders
Note: GP = Games played; G = Goals; A = Assists; Pts = Points; PIM = Penalty minutes

Leading goaltenders
Note: GP = Games played; Mins = Minutes played; W = Wins; L = Losses: OTL = Overtime losses; SL = Shootout losses; GA = Goals Allowed; SO = Shutouts; GAA = Goals against average

Playoffs

Conference quarterfinals

Eastern conference quarterfinals

(1) Ottawa 67's vs. (8) Hamilton Bulldogs

(2) Niagara IceDogs vs. (7) North Bay Battalion

(3) Oshawa Generals vs. (6) Peterborough Petes

(4) Sudbury Wolves vs. (5) Mississauga Steelheads

Western conference quarterfinals

(1) London Knights vs. (8) Windsor Spitfires

(2) Saginaw Spirit vs. (7) Sarnia Sting

(3) Sault Ste. Marie Greyhounds vs. (6) Owen Sound Attack

(4) Guelph Storm vs. (5) Kitchener Rangers

Conference semifinals

Eastern conference semifinals

(1) Ottawa 67's vs. (4) Sudbury Wolves

(2) Niagara IceDogs vs. (3) Oshawa Generals

Western conference semifinals

(1) London Knights vs. (4) Guelph Storm

(2) Saginaw Spirit vs. (3) Sault Ste. Marie Greyhounds

Conference finals

Eastern conference finals

(1) Ottawa 67's vs. (3) Oshawa Generals

Western conference finals

(2) Saginaw Spirit vs. (4) Guelph Storm

OHL Finals

J. Ross Robertson Cup

(E1) Ottawa 67's vs. (W4) Guelph Storm

J. Ross Robertson Cup champions roster

Playoff scoring leaders
Note: GP = Games played; G = Goals; A = Assists; Pts = Points; PIM = Penalty minutes

Playoff leading goaltenders

Note: GP = Games played; Mins = Minutes played; W = Wins; L = Losses: OTL = Overtime losses; SL = Shootout losses; GA = Goals Allowed; SO = Shutouts; GAA = Goals against average

Awards

All-Star teams
The OHL All-Star Teams were selected by the OHL's General Managers.

First team
Morgan Frost, Centre, Sault Ste. Marie Greyhounds
Jason Robertson, Left Wing, Kingston Frontenacs/Niagara IceDogs
Justin Brazeau, Right Wing, North Bay Battalion
Evan Bouchard, Defence, London Knights
Mac Hollowell, Defence, Sault Ste. Marie Greyhounds
Ukko-Pekka Luukkonen, Goaltender, Sudbury Wolves
Andre Tourigny, Coach, Ottawa 67's

Second team
Kevin Hancock, Centre, Owen Sound Attack/London Knights
Arthur Kaliyev, Left Wing, Hamilton Bulldogs
Tye Felhaber, Right Wing, Ottawa 67's
Bode Wilde, Defence, Saginaw Spirit
Adam Boqvist, Defence, London Knights
Kyle Keyser, Goaltender, Oshawa Generals
Cory Stillman, Coach, Sudbury Wolves

Third team
Nick Suzuki, Centre, Owen Sound Attack/Guelph Storm
Isaac Ratcliffe, Left Wing, Guelph Storm
Nate Schnarr, Right Wing, Guelph Storm
Dmitri Samorukov, Defence, Guelph Storm
Thomas Harley, Defence, Mississauga Steelheads
Ivan Prosvetov, Goaltender, Saginaw Spirit
Dale Hunter, Coach, London Knights

2019 OHL Priority Selection
On April 6, 2019, the OHL conducted the 2019 Ontario Hockey League Priority Selection. The Kingston Frontenacs held the first overall pick in the draft, and selected Shane Wright from the Don Mills Flyers of the GTHL. Wright was awarded the Jack Ferguson Award, awarded to the top pick in the draft.

Below are the players who were selected in the first round of the 2019 Ontario Hockey League Priority Selection.

2019 NHL Entry Draft
On June 21-22, 2019, the National Hockey League conducted the 2019 NHL Entry Draft held at Rogers Arena in Vancouver, British Columbia. In total, 25 players from the Ontario Hockey League were selected in the draft. Thomas Harley of the Mississauga Steelheads was the first player from the OHL to be selected, as he was taken with the 18th overall pick by the Dallas Stars.

Below are the players selected from OHL teams at the NHL Entry Draft.

2019 CHL Import Draft
On June 27, 2019, the Canadian Hockey League conducted the 2019 CHL Import Draft, in which teams in all three CHL leagues participate in. The Kingston Frontenacs held the first pick in the draft by a team in the OHL, and selected Martin Chromiak from Slovakia with their selection.

Below are the players who were selected in the first round by Ontario Hockey League teams in the 2019 CHL Import Draft.

References

External links
 www.ontariohockeyleague.com

Ontario Hockey League seasons
Ohl

redpajama_set_name: RedPajamaWikipedia