What is it? It's a case for Nick Carter. Master Detective. Yes, it's another case for that most famous of all man hunters. The detective whose ability at solving crime is unequaled in the history of detective fiction. Nick Carter. Master Detective. The fact of the matter is, Mr. Carter, that I've quite accidentally stumbled upon evidence that a horrible murder has been committed. But Mr. Field, why come to me? That sort of thing should be reported to the police. But to what police? Where was this murder committed? I don't know. How can you be sure there was a murder if you don't even know where it was done? That's what makes this particular crime different from any other. Somewhere, sometime, a woman has been brutally murdered. Yet I don't know when or where. As a matter of fact, I doubt if anyone in the world knows of it, except those who did it and me. Really? How does it happen that you alone know all this? Because the victim has told me so in her own words. I heard the horrible story from her own lips. Ah, then you talk to her. No, no, never. What you just said is... But she has talked to me. See here, Mr. Field, are you trying... Mr. Carter, here's the story. About a month ago, at one of those sales of unplanned packages at the express company holds twice a year, I bought a box, about one-third the size of a steamer truck. When I took it home and opened it, I found it contained a bloodstained dress, a photograph of a beautiful woman, and eight phonograph records. What kind of records? Well, they were the small record blanks you buy when you want to make your own recordings at home. And it was from these records that I learned about the crime. Well, Mr. Field, if you've wanted to arouse my curiosity, you've certainly succeeded. How soon can I hear these records? Immediately. They're in my rooms. If you care too, we can go there right now. Excellent. Patsy? Yes, Nick? Get your hat. We're leaving at once to listen to a murder. That was the start of one of the strangest cases that ever came into the office of Nick Carter, master detective. A murder which came to light only because a man bought a box at an auction sale. Eight records which told the amazing story of the brutal killing of an innocent victim. Eight records of death. This is the box, Mr. Carter. How long ago did you say you bought it, Mr. Field? All about a month ago. And the express company holds things for a year before selling, which means the murders at least a year old. Were the wrappings on the box when you bought it? Yes, but I'm sorry to say they were destroyed before I knew they might give me a valuable clue to the mystery. That's too bad. You recall the name to which the box was addressed? Oh, yes, yes, I do. It was addressed to Alex Delanoir, New York City, no street address. The rest of the label was obliterated. I've searched every city directory, every telephone book, every place where names are listed, but no such name anywhere. When are we going to get to the records, Nick? Right now, Patsy. I hope. How about it, Mr. Field? Right away. I'm very curious to get your reaction to them. Are they numbered? No, but I've played them so often I'm sure I have them in order. Here's the first one. I don't suppose anyone will ever hear this record, but it's the only way I can think of to tell my terrible story to the outside world. I'm being held a prisoner in my own house. Held prisoner without any hope of rescue, except death. And I know that will be the end for me. All I ask of you who are listening is to avenge my death by putting my murderers where they belong. My name... Sounds as if she really meant it, doesn't she? I thought he was coming in then, but he didn't. My name is Nancy Deering. You will undoubtedly recognize it. As you know, I'm very rich, but all my money is no good to me now. I've tried to escape, but it keeps too close a watch on me.  That's all on that. He apparently came back unexpectedly. She certainly had trouble getting her story on the record, didn't she? Yes, she was interrupted many times, generally in the wrong places. What a terrible feeling to expect to be killed any minute. Here's the next one. I don't know where I left off last time. I don't dare play it back. If they should ever hear what I'm trying to do, they'd take the machine away from me. From the way they talk, the end is very near. They may... I'm sure Ralph was listening outside the door, so I switched on the radio till he went away.  Bad as Olive is, I don't believe she could kill her own cousin, but our husband is different. When I refused to sign the deed last night, he hit me several times, but he can't make me sign because I'm positive that would be the end of me. He can do anything he... That's all there is on that. I wish she'd planned what she was going to say a little better. How to make head or tail him is this way. Well, she manages to get most of the story on the records, one way or another. The only thing she missed out on was telling us who she was or where she lived. All we have is her name. And she said she thought we'd recognize the name. Maybe she lived a long way from here. Maybe. Here's the third one. She apparently knew Ralph was coming to see her, and she prepared for his visit in advance. This is what she got. Come in. Well, my beautiful cousin, have you decided to sign that deed? I told you I'd never do it. Never. All we want, my cousin, is your money. As soon as you've made it over to us, we'll set you free. Just as we promised. You don't fool me for one minute. The minute I put my name on that paper, you'd kill me. Set me free. That's funny. I haven't had a free minute since that cousin of mine moved into this house. I thought she was going to be company for me after Leonard died, but I'd have been better off living here alone. It was very sweet of you to invite her to come and live with you, Nancy. It was even nicer of you to let her bring me along. We had such fun here. I wish I'd known men what I know now. A little late to worry about that, dear cousin. Well, for the last time, will you sign now? No, no! Very well. But it won't be long before you'll wish you had. How I wish this were all over. I'd rather be dead than living like this. Not a friendly face anywhere since they got rid of my old servant. Nobody left with Alex. He's too busy with his rose bushes to know what's going on. I wish I were dead. And that's all there is on that one. A poor woman. But it's too bad she didn't use more of those records than she did. She only uses a small portion of each blank. It was probably hard enough to get as much as she did in the way she was watched. Me? Who do you suppose she got the blanks in the first place? Probably had a radio phonograph in the room where she was shot up. It must have had the record blanks in with the other records where they didn't notice them. I've never been able to make much of this next one. Maybe you'll have better luck. The whole first part is just scratch. Here, I'll start it where the voices begin. Nancy! Nancy, I'm voting. Nancy. Isn't she in here? Well, of course she is. Nancy, come out here. Hiding, is she? Well, we'll drag her out. I'll find her a little sheep. Let's look around here and look for her. I'll find her a little sheep. Aha! Look there! Ah, come out of there and try to kill me, will you? And with my own gun didn't succeed. Oh, why, Ralph? Not very clear, is it? I think so. Nancy locked her door and started the recorder. For some reason she waited before saying anything. Then Ralph and Olive came to the door, found it bolted and broke in. Nancy hid and they dragged her out. She grabbed Ralph's gun and took a fast shot at him. It's too bad she missed. It's clear enough when you tell it. Well, here's the next one. I must hurry as I may be interrupted any minute. They seldom leave me alone anymore.  But to get on with the story. When my husband was killed in Italy, I invited Olo over distant cousin to come and live with me. She asked if she could bring her husband. I foolishly couldn't send it. Everything went well for about two months. Then one after another my servants left. I know now that Olo and Ralph drove them out. Then Ralph suggested that I put him in charge of my estate. I refused, of course. The next day I was shut up in my rooms. He told me that when I made my fortune over to him he'd let me go anywhere I wished. But I could tell he was lying. I knew... Someone is listening outside the door. Yesterday I wrote a letter to Alan. The only one of my servants left and threw it out the window. If he finds it, maybe he can... And that's that. We didn't get much out of that except a few background details. Not all peaches together, Betsy. A little at a time. This next record is more interesting you'll find. Good. Let's have it. Well, Nancy, how do you feel today? You're not interested, so why ask me? I'm extremely interested in the state of your health, always. If you had your way, I'd be dead.  It's not getting you anywhere. Why don't you stop torturing me? Or do you enjoy seeing me suffer? I know particularly mine. You, she-devil!  I'll tie you hand and foot so you can't move.  That's what you're gonna do anyway? Fine, Nancy. What an unpleasant thought with such a beautiful woman. You know, I could go for you, please. You're free to speak!  No, no, no!  I'm almost tempted to do it now. Ralph, will you get me a glass of water, please? Please. I don't see why I shouldn't. Oh, all right. But no tricks, sir, I'll... Gosh, wish I could have heard more of that. I thought he was going to make a pass at her. You will hear more. Nancy must have known the record was about ended, so she sent Ralph after the water so that she could change the record. She's clever, that woman. Or should I say, she was clever. I'm afraid it's past tense for sure, Mr. Carton.  Quite badly, please. Thank you, Ralph. I, uh, I think I should tell you, Nancy, that all of the knife decided that we'll give you one more day to do just as we want. Just one. I think death frightens me. That's the only way I'll ever get away from you two. At least that way my fortune will go to my sister and not to you two murderers. Are you sure? Of course. My will leads everything to her. Ah, but we have a new will leaving everything to us. Properly signed, sealed, and with. No, you can't get away with it. Oh, yes, we can. Of course we'd rather not have to use it, but if we must, we must. And I assure you it's a masterpiece of fortune. I can't believe two such inhuman creatures as you and Olive actually exist. Well, we do, and we shall continue to exist long after you've gone. Look forward to tomorrow, Nancy. You heard what he said. It was practically a full confession of everything. Oh, I beg you, whoever you are who may hear these words, see that those two monsters get their just desserts for what they've done to me. I should feel... Huh. If you didn't know she wasn't deadly, she was putting on an act. Truth is generally more effective than fiction, Bessie. There's one more, the eighth. And last, how she managed to get it, I'll never know. But here it is. The first two-thirds are blank. It starts about here. Keep away from me, both of you. Let me see I have a gun and you both know I can shoot.  That's my gun. Where'd you get it? Olive gave it to me so I could defend myself. That's a lie, and you know it. So what if it is? Nancy! Give me that gun! Give me that gun, Nancy! Yes, sir. I guess so, though. The bullet just grazed my head. Is she dead? She's dead, all right. Even Nancy Deering can't live with a bullet through her heart. Well, I'm glad it's over at last. You say you'll arrange for the doctor to... Poor Nancy. What a tough break she got. I truly believe that's the most remarkably told murder story in the history of crime. When, Mr. Carter, do you have any ideas? I think so, but I'm not ready to talk about them yet. What's your first step going to be, Nick? First, I want to take these records back to the office and play them over and over until I know them by heart. Then I'll be ready to go to work. Got a sandwich in your pocket, Patsy? Oh, Nick, I thought you'd never finish listening to those records. I wanted to be sure I didn't miss anything that you'd possibly be helpful to me. Did you find anything worthwhile? Yes, indeed, Patsy. There are several clues plainly marked out for us. Certainly enough for us to get started, huh? Well, tell me, Nick, don't keep me waiting. Of course, the most obvious clue we have is the bloodstained dress that came in the box with the records. You mean the label in it? Yes. We know the girl's name was Nancy Deering. The dress was bought at Shipstead's dress shop in Albany. Uh-huh. And as the picture that was in the box had an Albany photographer's name on it, she must have lived in, or near Albany. Right. So we'll start our search there. But, Nick, if it was all done as secretly as the records would seem to indicate, chances are that nobody up there knows anything about it. Yes, except for one zinc, Patsy. It's obvious from the quality of the dress and from what she said in one of the records that Nancy Deering was a well-to-do woman. And I find it difficult to believe that any rich woman can disappear without the newspapers or the police or somebody knowing something about it even if they don't know there was any foul play connected with it. I see. And when they give you the facts as they have them, you can give them the inside story you got from the records. That's what I hope will happen.  We're flying to Albany immediately. You were lucky to be able to get us on this plane. Well, this business demands a certain amount of priority. Now, Patsy, here's what I plan to do. As soon as we get there, you take the photograph to the address shown. See if it really is a picture of Nancy Deering and also how reasoned it is. I'm going to the newspaper office and see what they can tell me. Meet me there. You're not going to the police first? No. Not unless we can't find anything anywhere else. I want to keep this unofficial as long as I can. I think I'll get rid of that late. We've got to be careful. We don't know what we may be stirring up when we start asking questions. This office? All right over there. Thanks. What can I do for you? Mr. Brown, I'm Nick Carter. I hope you can give me some information. Oh, sure, Carter. Glad to help you if I can. What's on your mind? I was the editor of a big paper. You must run into things every now and then. But your files have any dope on a woman called Nancy Deering? What sort of dope you're looking for and why? I'd like particularly to know when and how she died. And I'd rather not tell you why just yet. Carter, I smell a story here.  I don't know that there is any story, but in return for your help, I'll promise to give you first crack at anything I may find. It's worth your attention. Okay. That's the way you want it. I'll play along with you. Nancy Deering, you say? Yes. How and when she died? Well, Nancy Deering and her husband Leonard Deering were pretty prominent people here in town, so I can answer your question offhand. Deering, a colonel in the engineers, was killed in the big push through Italy. His wife died in pneumonia a little over a year ago. Pneumonia? You're sure of that? I am, but I'll take it for you. Give me the morgue.  I'll wait. You got the name of the attending physician, too, will you? Now, look here, Carter. You got any reason to think that, yes, December 14th, 1944. Right. Pneumonia, yeah. And who was the doctor? Fred Windsor. Hey, wasn't he the guy whose license was taken away a while back from malpractice? Uh-huh. I thought so. Okay, thanks. So this Fred Windsor was disqualified. Any idea where he is now? No. Wait a minute. I'll have a look in the directory. Let's see. Yep. Here he is. Fred Windsor, 57 Telfel Road. That's up in the western section of the city. A small suburb. Thanks very much, Mr. Brown. I won't bother you anymore. And if I get any red-hot tips, I'll pass them on to you when I'm ready. I wish you'd tell me what this is all about. Later, Mr. Brown. Well, so long. Thanks again. So long. I was just coming to find you. What did you find out? The photographer says it's a picture of Nancy Deering or I taken about a year and a half ago just before her husband left for the war. That's her husband with her in the picture. They had a big house out on Lincoln Avenue in the west end. Good. I found what I wanted, too. We going out to the Deering House now, Nick? Not just yet, Cassie. What she said on the record is true. The ones living there now, her murderers. It may hardly be likely to tell us anything we'd want to know. Oh? No, we'll wait till we have more definite information before we tackle them. And what do we do now? We're going to call on a doctor or rather an ex-doctor. And I hope he'll tell us something he never told anybody before. Well, now you're in. What do you want? And make it brief. Mr. Windsor, I'll come directly to the point. A little over a year ago, a woman named Nancy Deering died. You, as attending physician, signed the death warrant. All right? Yes, I signed it. What about it? I have reason to believe she didn't die of pneumonia. You're crazy. Of course she did. If you think you can come here and start a... I said I had reason to think she died of something else. I might have said I have proof that she did. Well, you haven't. Mr. Windsor, you'll save yourself and me a lot of trouble. Get out of here, both of you.  Hold it, Windsor. It won't help you any to get rough. I've got nothing to say to you. You might just as well get out. I'd like you to do just one thing for me before I go. I've got nothing to say. You won't have to talk. Just listen to a record. A record? Yes. You have a player here? Yes, right here. What's the record? Let me play it for you and you'll see. I can promise you you'll be greatly interested. I'll go ahead and play it. But be quick about it. Put it on, Fessy. You mean the last one of the series? Yes. Okay. Keep away from me, both of you. Oh. As you see, I have a gun. You both know I can shoot.  That's my gun. Where'd you get it? Oh, that's her. Oh, gave it to me so I could defend myself. That's a lie and you know it. What if it is? Ah! It can't be possible. Yeah, yeah. Come on. Come on. Come on. What do you think of? That takes care of you and your company. Stop it. I won't hear any more. I won't hear any more. Wait. Wait for it. Stop. Wait for it. Back through the temples.  But he practically confessed before he died. But we can't prove he did, Petsy. No matter how much we know ourselves, we're right back where we started. As far as legal proof goes. Then we'll have to find some other way to prove what we know. We can't stop here. I have no intention of stopping. What now? I'm going to put an ad in the paper for Alex Delano, the man who sent the box to New York originally. He isn't listed in the city directory of the phone books, so we'll have to try it this way. Won't that be dangerous, Nick? How do you mean dangerous? Well, suppose this Ralph should see it. Mightn't he get suspicious? That's one reason I'm using the ad, Petsy. Hope Ralph does see it, and I hope he does something about it. I want to smuggle him right out into the open. And this may be one way to do it. Pardon me. Do you have any answers in box 415? 415. Yeah, one. Here you are. What about the results? Well, what is it, Nick? Let me get it open, and I'll tell you. Oh, from Alex himself. We'll be looking for you and my residents at 84 Green Court about 8-9. Alex Delano. You going, Nick? Of course I'm going. But you're going to stay in your hotel room and wait for me to call if I need your help. Oh, Nick, I want to go, too. Nothing doing, Petsy. Do yourself said. This may be a trap, and I'd rather deal with it myself. Do Alex Delano? Yes? May I come in? I'd like some information if you can give it to me. Oh, but of course. Come in. Thanks. Sit there, please. Delano, you used to work for Mrs. Nancy Deering, didn't you? Oh, Mrs. Deering. Oh, yes, I worked for her for many years. It was only after she died that Mr. Morgan fired me. Mr. Morgan. Yes, yes. Tell me, Delano, after she died, did you pack up a box of records and send them to New York? You have found the records? Oh, I've waited so long for that. Yes, we found them. And why did you send them to New York like that? Well, her letter asked me, too, to prove she was murdered. Her letter? Yes. It says she is being kept prisoner, and she is afraid she will be killed at any time. She says if she dies quick, I must pack the records I find in her radio cabinet and take them to the police. It will prove what she says. Why didn't you go to the police with that letter? Oh, she has died the day before I find the letter. It is too late. She threw the letter out of the window to me a few days before, but I find it behind a rose bush too late to help. So I do what she says. And you didn't take the records to the police? Me, I'm afraid of police. So I put them in a box and send box to New York. And then I write police to get it and find out what have happened. Do you have her letter now? Oh, yes, I keep it in my pocket always. Here it is. Thank you, Delano. With that letter and the records, I think I... I'll take that letter, Mr. Carter. No, I have a gun here covering you. Hands up over your head. That's it. So what was you who arranged this meeting? I was curious to know what you wanted with Alex. And I find he knows much more than I thought he did. I should have got rid of him before this. And what do you intend to do now? Dispose of you and Alex. The records are still in existence. They'll prove you murdered Mrs. Deering. With this letter in my possession and the doctor dead? Oh, yes, I know about that too. The records will prove nothing. Now, come on, I have my car outside. You and Alex and I will take a ride to my house where you'll stay until I decide how best to get rid of you.  He's too dangerous to be allowed to live. Well, do as I say, Olive. If Carter were to disappear every cop in the section of the country he'd be searching for him. But Ralph... No, we'll clean out the safe deposit boxes, withdraw the money we have in the bank, and go to Mexico or South America. We'll leave Carter and Alex tied up there if they starve to death before they're found. Well, that's just too bad. I think you're a fool, Ralph, to let him live. I'm running this, Olive. And if you don't want me to go away alone, do as I say. I hate him. If it wasn't for him, we wouldn't have to run away like this. I could kill him myself. Well, you won't. I don't leave the house until I get back. Pack all your things, be ready to leave. All right, Ralph. I'll get back as quick as I can. Let him live. I won't. I'll fix him. A knife in his heart is what he deserves. That's what he's going to get right now. If this carving knife will do, tied up as he is, he can't do anything to stop me from killing him. Are you in there, Mr. Nick Carter?   I'm going to...  What happened, Mr. Carter? I tripped her up as she came in and knocked her head on the floor and stung her. Now if I can get to that knife, cut the ropes in my arms. Three in a minute, too, Alex. Oh, look out, Mr. Carter. He's coming. It's all right. I'm free now. I'll take care of her. What? What happened? Quiet. Don't make a sound. You try to cry out, I'll fix you so you can't. Ralph isn't here anyway. Wouldn't do any good. Where is he? He's gone to town. You're lying to me. That's he calling. Must have come back for something. Call him. Why don't you run to me? Call him. Tell him to come in here that you don't think my ropes are tight enough. I won't do it. Ouch! That's the carving knife you feel between your ribs. Now call to him. Carefully. Ralph. Yes? Ralph, I'm in here. Please come in. Well, what are you doing in there? Get your hands in the air. Get him up high. That's it. How did Carter get that gun? Did you... You overlook this little pistol I always carry in my shoulder, Hoster Ralph, but it's deadly even if it is small. What are you going to do with us now? Put up whatever existence I can find in this house, including Alex's letter. And hand you both over to the police with what Alex and I can tell them. And the evidence I can turn over to them, you'll both of you pay for Nancy Deering's life by profiting your own. Well, Nick, how about a few hints about next week's show?  Hold on a minute now. That's too fast for me. Well, it's true, Ken. If it hadn't been that my woman's intuition told me that what Scubby and I saw wasn't what we ought to have seen, the entire story might have been different. Yes, Patsy, that was one time when you really put the finger on the answer to my very tricky problem. This I gotta hear. What do you call it, Nick? I call it The Case of the Disappearing Courts. Nick Carter, Master Detective, which is produced and directed by Jock McGregor, is copyrighted by Street and Smith Publications Incorporated. Pictured stories of Nick Carter appear in every issue of The Shadow Comics Magazine. In the adventures of Nick Carter, Master Detective, Lon Clark is starred as Nick, Charlotte Manson is featured as Patsy. Original music is played by George Wright. Script is by Jock McGregor. Any resemblance in these programs to actual persons living or dead or to actual places is purely coincidental. Nick Carter, Master Detective, is presented over most of these stations each week at this same time. This is Ken Powell saying, so long until next week. Is the mutual.


So faculty publication patterns at a large urban university in correlation with collection use and size is the title of the University of Illinois Chicago's research project. This is our second presentation this afternoon and the team for this project includes Sandy the group young Miss school is Paula Dempsey, Deborah Blaisek and Felicia Barrett. And I know Sandy, I'm going to turn the podium over to you to start your presentation. Hi everyone. So, as already mentioned we focused on how the library, or does the library help increase research productivity and an impact. And so, our primary questions that we tried to address included have the number of references included in publications increases journals increased are the number of publications by authors correlated with the number of references in the publications among our faculty and does a number of references included with an article correlate with later impact or the citations that the articles get. So, we had a somewhat involved methodology we did a really a longitudinal study and went back 25 years to look to see how publications have changed over the years. And is there any relationship with the number of journals that are available so we identified 802 faculty that had been at UIC for at least five to 25 years. And then we put them all into groups of have they been here for five years 10 years 15 years 20 years or 25 years. And then we looked at those patterns over time and then we went and search for their publications and scope us and as part of that, we got the number of references that they included in those publications, and also how many times those articles were cited in either five year or 10 year increments, and we did that to control that variable because obviously the more and older and article gets the more times it's going to be cited. So we did that to control for that time. And then we also collected whether the article was grant funded and that was based on scope is saying it had grant funding and the number of authors that were on the article. And so just in terms of our overall findings over the years as our journal holdings increased the number of references that were in publications increase and the average publications. And so it'd be great to conclude at this point that yes, the library's holdings is, you know, helped increase publications, but it turns out it's a lot more complex than that. I'm glad that I just showed you. That's all the faculty that were in the study, because obviously is new faculty come they could potentially have different types of publication productivity levels. We also then just looked at the faculty who had been at UIC since 2000. So this is just looking at the same people each year. And this is just looking at the same people each year since 2000 and you can see that even though with those people, the number of references that they're including in their publications, and the publications themselves on average per author are increasing over time. So this is not just about publication, but the thing to point to here and pay attention to is that also the number of average authors per article increased over time. So, then we also went and took a look at well how does it relate to the number of references that are included in articles and a previous study that one of my colleagues and myself had done we had found that there was a negative correlation between the number of publications and the use of references and publications. And in this study, we also found that there was a negative relationship, although it wasn't significant, but it generally sort of implies that the more you publish the less you site. So we delved into that a little bit more. So what this particular slide is showing is we grouped people into this group is our least productive authors so they wrote five or less publications. So this is the group that is writing between 66 to 70 publications on average. And then this group here the kind of oranges group that group is writing, like a lot of articles are writing at least 71 or more articles, and then we looked at the average references of authors in those groups. So for the group that's the least productive. They have the least number of authors and the least number of references that they use in their publications, although over time, those numbers both increase. So the group the red or group that those are the more your kind of productive group but not super productive but pretty productive so 60 to 70 publications. And so they have a lot more authors on their articles those increase over time. They are the group that uses the most references in their publications. And then we have our orange group which is the most productive group, their number of co authors also increased over time as did their use of references but overall their use of references in that group that's the most productive is less than that group that is productive just not super productive. So you can see that there's really some variations in productivity related to the references that are included in publications. We also then took a look at some of the disciplinary differences. This is just showing our health sciences because to show everyone it becomes a very crowded slide but you can see that in different disciplines on average. Their publication levels are very different. So average per person. It does also look like in nursing that that publication number declined. This is of all the faculty in the study so it is possible. I think I did we did this with just the same people, all the time in all the years. And I believe that potentially this is maybe a sign of retirements or people going into administrative roles that that might somewhat explain that decrease in productivity but you can see that you know overall publications increased. But at different levels, and then the same with inclusion of references at different levels, references overall, with the exception of nursing used in publications also increased on average. Then there was also as I've brought up a number of points here. Confounding variables that we can't really ignore as we look at these patterns that appear. So, sorry, I actually thought that I changed these slides a little bit but anyways, we'll go with it. So, as you can see here, you know we asked publications increases over time. Average references are increasing over time, but also our average authors are increasing and our grant funding is increasing. And also our average number of faculty at our institution increased, and those all play a role in productivity. So you can just see a little bit clearer in this slide here, how publications increased but so did productivity. We also, so, you know, the thing that we can't really conclude is that you know 100% because we increased our holdings that productivity also increased because co authorship grant funding, so even write articles with probably all plays a role in productivity. In addition to that we are kind of saying that because people are using references in their collections that obviously are sorry references in their articles that obviously we're kind of making the assumption that goes come from our collection. But we also have to recognize that at the same time during all this, you know, increase in journals because of online increase in access to journals because of the big journal bundles. There's also a number of databases that are becoming available online and available remotely from the library there's a number of new databases that are becoming available a lot of open access journals are becoming available. So, and also people can collaborate with colleagues outside of their institution, they could potentially have asked them to share articles with them. There's really a lot of variables that can play a role in what references are included in the publications but we do know that in looking at the references that were in the publications that a large majority of them were potentially held by the university library. But there's just no way to say just how much of that availability of our online additional journals played a role in increasing productivity. We also took a look at how grant funding was related to the use of to productivity and also the use of references. And so these are the grant funded articles. And so, over time, you, well you can see that generally more articles are published that are grant funded they're not grant funded, and those articles that are grant funded tend to use more references in them and also there tends to be more productivity related to articles that are grant funded and also more co authors on grant funded articles. So, again, just another potential confounder with. Oh yes of course the library helps increase productivity. Okay, we also then just looked at cited references. So to see what kind of impact the library might have later. And you can see that in general the number of articles that are getting cited. Over time increases. And it's really the latter six to 10 years after publication where articles are getting more citations rather than the first five years. We looked at, so does the library help to increase research impact. And so we looked at the number of publications. And this is looking at a regression analysis to predict what citations that articles will later receive so the number of references and authors and whether an article was grant funded was explored as predictors of later research impact based on the number of citations and article gets after five years. And all three were significant, although grant funding was kind of on the cusp, but there was some suggestion there that yes the use of the references in publications does have an impact later in the overall citations that an article gets. That's it. Thank you. Thank you so much, Sandy.


Aaron Garrett Cole was every bit the ace you needed tonight 7 strong innings 15 strikeouts what impressed you about the way he navigated through that angels lineup well he just was he was on a mission today you know that's what we needed out of our ace was to come in here we lost our last four games after that hot streak we had and he did what he's supposed to do he came out here dominated was attacking the hitters every pitch I feel like was working for him and I didn't get a lot of work out there in right field it's pretty nice with the way he's been pitching since coming off that COVID I L just how encouraged are you as you go down the stretch run here in September he's been fishing great for us all year you know especially you know since he's come back but all year G Cole's been doing a thing and he's the guy that goes out there he prepares the right way game day he's locked in you can see it on the mound there's the intensity he brings to the game it's just you know we feed off that the team we're different at the plate you know we're taking different at bats you know on defense we're making plays for him so it's a he's a whole package you know that's what you want to have your base you mentioned the team reacts a little bit different is there even a different feel when you get to the ballpark knowing that Cole is on the mound yeah you know you know you got those days circling a calendar when he's pitching you know just you know he's gonna come out there and bring it so you gotta you gotta match the energy and bring it and bring it yourself so we always have fun with 45s out there did you like the fire he showed after that sixth inning it looked like he said to Aaron Boone I'm not done yet I have more left in the tank yeah like I said he was a man on mission today you know he's a you know after those four games we had and you know came up short now he was you know coming out here to prove a point you know show him that you know we can still do our thing and he was he was a man on mission I think he had about 15 K's out there I lost count after 10 so I just anything after 10 man incredible but it was great performance by him you know fun playing defense behind them and looking forward to our next series Aaron you've been consistent at the plate pretty much all season long but it seems like you even up the ante on this road trip what really clicked for you in the batter's box I love the West Coast I love coming home you know great fans on the road but not just his team you know it's it's September this is when men step up this is you know the crunch time for us and time to step up and go to business you know we're still in the hunt and our mission isn't done yet so we got to keep working Aaron thanks for the time


Welcome to my presentation about container live migration. My name is Adrian Reber. I work at Red Hat since 2015. And for the last 10 years, I have been focusing on process migration. Process migration is the basis of the container live migration I'm showing here today. And I'm involved in Crewe Checkpoint Restore and User Space since 2012, which is the basis for the process migration we are using here. And I'm mainly focusing on container migration for the last five years. The information from today's presentation can also be found in this blog post I wrote with all the details I'm mentioning here and in my demos. Today's agenda is, I first want to go about a few use cases, why container migration may be interesting and how it can be used in different use cases. Then I want to go into the details, how Crewe enables you to migrate processes and containers. Then I want to give a few additional demos and then a short outlook where this process and container migration might be heading to. I like to start with a definition of container live migration because this is not always clear to everybody I'm talking to. And for me, it's basically the same what happens when you migrate a virtual machine, you transfer your container from one system to another. You could also call it stateful migration so that the container is running, continues to run in the same state on the destination system. And from a very high level view, container migration is just a few simple steps. You serialize your container somehow on your source system. In our case, we try to write it to disk and then we transfer the result from the source system of the migration to the destination system and there we then just restore the processes in its container and that's it, you have container live migration. This is all based on Crewe checkpoint restore in user space. Crewe is one possible way to do checkpoint restore in Linux. Today I would say it's one of the best alternatives there if you want to do checkpoint restore in Linux and especially the integration into container runtimes is working best in combination with Crewe. There are multiple integrations of Crewe into container runtimes, container engines and in my talk I will focus on the integration into Portman and how Portman can be used to checkpoint restore containers and how Portman can be used to migrate containers from one system to another. So I mentioned I want to give a few use cases why container migration or the technology behind container migration might be useful for your use case and one thing is you want to update the kernel on your system where the containers are running but you have stateful containers I don't know maybe a database or something which has data loaded into memory the caches are filled and you do not want to lose the state of your application in the container and so Portman in combination with Crewe can be used to checkpoint a container you can update your kernel and then you can reboot your system and restore the container from its previous state I have prepared also a short diagram showing this here so the different colors are basically the memory of the processes of the operating system so you have your host running with all its memory used, loaded by different programs by the operating system and one part of the memory is the container with its state and so what we want to do we want to take out the state of the container from the running operating system so we checkpoint the container onto disk so it's now saved the state of the container then we reboot the host so the host is gone and then we restore the container back into the new host which I try to visualize using green so it's now a different state because it has been rebooted with a new kernel for example but a container and all its state and memory is still the same as before the demo would look like this so I first want to look if there are any containers running now so there are no containers running currently so now I will start a container I have prepared a wildfly-based container wildfly is a Java application server and I created a really simple stateful application in there it's called hello in my case and what it does is the stateful application just if you query it we are HTTP it returns an integer and increases it and the next time you query the application you get the next integer so it's really probably the most simple form of a stateful application so I say curl to query the container and then I say podman inspect to get the IP address of the container and then it's running on port 8080 and then the path to the application it's called hello world so let's run this this should give me back a 0 and if I run it a second time it gives me a 1 and a 2 and so on if I would now reboot the system and start a container again it would start again at 0 so what I will do now I will now say podman container checkpoint and tell podman he should work on the last container I started so now podman will talk to RunC and RunC will talk to CreeU and they will write the checkpoint to disk if I now look at the output there's no more container running and if I try to connect to it it doesn't work because there's no more container running so now I will reboot my system wait a few seconds until the virtual machine comes back up the system is rel 8.2 with podman RunC and CreeU also from rel 8.2 installed on the system so it's all just what comes with the operating system out of the box no additional changes necessary so now let's look here podman ps no container running if I try to connect to my container it just doesn't work of course so now I try to restore the container I say podman container restore and again work on the last container so now I did something so let's see if I connect again to the container I should get back a 3 because this was the state the container was checkpointed previously when I did the checkpoint so now I get a 3, a 4, a 5 so I was able to do a checkpoint I rebooted my system and I was able to restore the container in the same state it was before checkpointing without losing any state or information to container had so this was one of the possibilities where checkpoint restore the technology behind container life migration can be helpful the other one is quick startup so I have a container running in my system and it takes some time to start up because it initializes memory it has to load libraries so what I can do I'll take a copy of my running container and write it to disk and now I can create multiple copies of the same container which has already been initialized and which does not need any further initialization and startup time so I'm going back to my demo system here so now I have a container it's running and let's see it returns probably a 6 now so now I want to make copies of this already initialized container so now I say portman container checkpoint and I again say work on the latest container and then I tell portman to keep the container running so it should not stop the container it should just create a checkpoint and the container should still be running and then I tell portman additionally it should export the checkpoint to a file which can then be later used to create a copy of that container so now portman and crew and runcy are writing the checkpoint of the container to disk and now I can still access my container so 7, 8 it's still running as it was before but now I can create a new or I can use my checkpointed container to create another instance of the same container with the same state it was previously in so when I say portman container restore and now I say import and now I tell portman about the checkpoint archive I just created previously and so I tell portman to create a copy or use create another container using the exported checkpoint information so now portman says error creating container storage because now portman tries to recreate a container with the same ID it had when I checkpointed it the ID is of course used by the original running container if the original container would have been stopped this would have worked now but now I have to tell portman to give the container a new name so I say name hello one and let's see now it I don't get an error now if I now say portman nps I say now I have two containers running and that they look to be running the same image and the same command from what I see here let's try to access the container I just restored and I can say now here name hello one and now I should get back I think seven because I got back a six last time I did a checkpoint so it doesn't work how does the command look like I don't have to tell name I just have to give the name so I now access the container here and now I get back a seven, eight, nine, ten, eleven, twelve and if I now access my original container which is called inspiring beaver here I should get back ten, eleven so now I have two containers running which used to have the same state at some point in time and now they have different states so I can restore additional copy of the container I say again restore and then I say import checkpoint archive and I'll give it a new name I call this one hello two and now portman restores the container and if I now try to access hello two I should again get a seven because that's the state the container was in when I checkpointed it yes and that's it and now we'll get portman ps I can see I have three containers running which are almost identical as they answered different queries they are now in different states but they used to be all the same container so I call this quick startup and the thing is this cannot be really be seen here in the demo because my small container starts up pretty fast but if you look closely at the startup times of my container so the initial startup time of the wildfire container until it can answer queries is about eight seconds and if I restore the container from the checkpoint it's about four seconds so I already get something like 50% increase in startup time because I started from an already initialized container so the last use case I want to present is container live migration and again I have a container running on my source system and I'll take it out of the running system by using a checkpoint writing it to disk and then I can restore the checkpointed container multiple times on the destination system and have container live migration, stateful container migration by moving the checkpoint archive to the destination system. I will show a demo of this later at the end of the talk so now some details about CreeU the first step in this whole operation is to checkpoint a container and checkpointing is one of the first things CreeU does is process using ptrace in most of the cases and so the process is paused all necessary information is collected from the process and then written to disk and the collection of information about the collection of information about the process is one of the interfaces CreeU uses there are a lot of files there which give details about the state of the process so CreeU goes over all processes in the container and collects the information from CreeU and this is one of the things why CreeU is also called checkpoint restoring user space and this is different than other checkpoint restore implementation which existed on Linux previously so CreeU tried from the beginning to use existing interfaces as much as possible to get information about the running process and CreeU also added additional interfaces to the Linux kernel but these interfaces are not only useful for checkpoint restore they are also used in other use cases to get information about running processes so CreeU tries to get a lot of information from ProgPit there and information about the process which is not available through ProgPit and CreeU tries to extract from the process with a concept called ParasiteCode ParasiteCode is probably CreeU and it's definitely also the craziest because it's just something you do not expect if you never dealt with CreeU before so the ParasiteCode is injected into the post process and then the process continues to run the ParasiteCode so the ParasiteCode is now kind of a daemon running inside the process to be checkpointed and a daemon waits for commands from the main CreeU process so now the main CreeU process can talk to the process it wants to checkpoint using the ParasiteCode daemon and tell the destination process I want to have all your memory pages write them to disk I want to have information which can be retrieved from within the address space of the process so all the information which cannot be accessed from the outside of the process CreeU can now access from within the address space of the process by using the ParasiteCode once all the information is extracted using the ParasiteCode from within the address space of the process the ParasiteCode is removed again CreeU calls this curing the process the process should usually never know that it was under the control of the ParasiteCode or CreeU and at this point the process can continue to run as it was before so the process will be running and will never know it was under the control of the ParasiteCode a simple diagram to show how this works so we have the original process running here in memory now the ParasiteCode comes along we take out a copy of the original code and store it outside of the process we put the ParasiteCode into the process use it to extract information from within the address space of the process and once we are done the process is cured again like mentioned just before and the original code is put back into the process and the process never knows the ParasiteCode at this point check pointing is finished all relevant information has been written to disk and the target process is killed or as seen in one of my previous demos it can continue to run so this is just basically how the user decides what it wants to do check point and restore because of reboot it will stop the process if you want to do maybe an incremental check point every few hours to not lose the state of your container you just do a check point and let the container running or the process running so now that the check pointing is finished I shortly want to talk about container life migration and SeLinux so when I initially looked into getting CreeU support into Portman it basically worked after a few months it was just working but the SeLinux labels were never restored correctly they were not even touched and one of the things is if you run under SeLinux CreeU does things which SeLinux does not expect so you have your process running in the container and then CreeU comes along and injects the ParasiteCode and now all of a sudden something from within the container is talking to the outside of the container because CreeU talks to the process or to the ParasiteCode in the process which SeLinux does not expect and which it does not allow so there were additional steps necessary to make CreeU work in combination with SeLinux so CreeU already had LSM support since 2015 and this was implemented with the main focus on up armor to support CreeU in Lexi, LexiU's cases to migrate processes there under up armor confinement and it's really not complicated to implement this or it's not implemented in a complicated way so during checkpointing CreeU basically reads out the current attribute of all the processes and stores them in the checkpoint image and during restore all those attributes are restored and just written back so this worked for up armor and SeLinux support was basically saying if you run under any kind of SeLinux context which does not start with unconfined then CreeU will just tell you no idea how to handle this so it worked if you were not running under some special confinement like Portman does but if you're using labels like or security context like Portman does it was just not working so it needed a few changes to work in combination with Portman and the necessary changes where like already mentioned we had to label the socket using for the parasite daemon communication correctly then like up armor we had to read and write the attributes of the current process and then it becomes a little became a little bit more complicated because so when CreeU restores the process it's running under the context of running outside of the container and then we have to change or we have to transition into a different context and this is not something easily possible with linux as it was working with so we needed additional policies to make the transition possible here at this point and then we had to make sure we changed the context as late as possible so that we are running under outside of the container during restore as long as possible then we are trying to influence the PID of the restore processes using proxess kernel last pit and this also needed additional policies to be able to write to this file during restore then all sockets, TCP sockets need to have the correct label as a linux label to work correctly and then we had to create the log files with the appropriate labels then as CreeU is running at some point under the container context and it can no longer write to it log files and at a few places we had file descriptor leaks into tools, CreeU is calling so we also had to make sure that those file descriptors do not leak out because as a linux was also not happy with those file descriptors hanging around so now we are through with check pointing so with as a linux and now we come to the second or last step of the container migration process this is restoring of the process so what happens here is CreeU just reads all the checkpoint images it has written previously and which we used to restore the container and the processes in it and then CreeU does a clone so we have each PID, a thread ID in the container and the thing is CreeU always operates on process trees so you give CreeU a PID and then it will checkpoint all processes below this ID so basically the process and all its child processes restores the processes with the same PID to not break parent-child relations of restored processes so another interesting thing about how CreeU does this is what I called the PID dance so to restore process with the same PID this is what CreeU used to do it opened process it wrote the PID it wants minus one to NS last PID then it closes NS last PID then it quickly does a clone and then it does a getPID and verifies that it actually is the same it does a getPID to verify that a PID is actually the PID it wanted to have if the PID is a different one because some other process was created during this time then CreeU will fail at this point so this can lead to race conditions because someone else can create a process during that time and it requires multiple system calls so it's slow and so we were looking for something else to create processes with a certain PID there was already a syscall implemented in 2010 this was also done for internal checkpoint restore which was never merged upstream it was called eClone so eClone had a parameter to tell the kernel I want to create a process with this PID but this was never merged and so we tried to do a we tried again to avoid the PID dense with the help of clone3 and clone3 was introduced because the parameters of clone were running out and clone3 was introduced from the beginning to be more extensible for the future so that you can add additional features to clone3 and that's also what we did in CreeU and clone3 so we extended clone3 to include the set TID parameter in the kernel and now we can with one single syscall we can create a process with a desired PID and so we do not have to do the PID dense it's not racy, it's not slow and it basically looks like this so we just do a clone and tell it we want to have a certain PID to the syscall and then we either get a new process or we do not get it, we do not even have to verify the PID of the created process because the syscall will fail if the PID we want is extensible so so we create a lot of processes we recreate the process tree and then CreeU morphs all the recreated processes back to its state they should be for the restore process and a nice way to describe this is a file descriptor so when CreeU does a check point it looks at all the resources the process is using and it also looks at the file descriptor so it looks at which file descriptor which number the file descriptor has which file it points to and at the position of the file descriptor and so when CreeU restores the process it opens the same file with the same file descriptor ID it positions the file descriptor at the same location so once the process keeps on running or continues to run the file descriptor will be exactly the same than it was before checkpointing so if the file is accessed this will just work as it was before checkpointing and in addition to restoring all the resources the process uses all the security pages are mapped back at the right location then we load back all the security settings at armor as Illinois sec comp we make this as late as possible to make restoring easier so that we are not confined by any of the security mechanisms here and once everything is restored as it was we jump into the restore process which is running as it was before checkpointing so now to to contain a live migration so contain a live migration exists for probably you could say a long time because OpenVZ which provides container for very long time they are actually the people who invented CRIU to provide migration capabilities for their containers so OpenVZ invented CRIU and they use it so if you are running OpenVZ containers you can live migrate them using CRIU then CRIU is also integrated into Borg this is Google's container engine we CRIU upstream had reports from Google during the last two Linux Plamos conferences how they use live migration in their container engine in production and it works pretty good for them as far as we are told so it's a thing that is used in production and works reliable for them then we have integration of CRIU in Lexi to migrate containers we have integration of CRIU into Docker to checkpoint restore and migrate containers and the thing I want to already show here is is how it's integrated into Portman and I think this is the, I've been working on this for the last three or two and a half years and just some words about Portman, Portman is container runtime which is demon less so there's no demon running you just start your container and then there's nothing which you need to talk to you always talk directly to your containers which is running and one thing is with Portman you also can run containers as non-route this is not really relevant for checkpoint restore because CRIU is not working as non-route yet we are on the way there but to get checkpoint restore into Portman I think the first discussion started around the beginning of 2018 I had the first code ready in May 2018 and it was merged in October 2018 so we had checkpoint restore capabilities at this point it required changes to RunC and CRIU and of course Portman but at this point it was only able to checkpoint and restore a container it was basically only to support for the first use case I checkpoint my container I reboot my system and I restore the container it was not possible to live migrate a container or make copies of it so my next steps were to get container live migration working and by June 2019 changes were merged into Portman and this again required changes in all of the involved layers so Portman, RunC, CRIU, SELinux and all these changes were merged and now you can actually checkpoint and restore in my great container like you've already seen in my demos the nice thing is the checkpoint I'm exporting into a file it includes all file system changes so you do not have to worry about if your container creates files in its local container file system all these file system changes will be applied upon restore of the container so Portman handles all the changes to the container necessary and you just have to use this simple export functionality so now to my last demo showing the migration of a container from one host to another host the slides here are just showing the commands which are necessary to do this in case the demo doesn't work but let's see here let's go back to the demo Portman yes so I still have my containers running and so let's make a checkpoint of the newest container here checkpoint minus L keep it running and export it again to a file to checkpoint archive now the container is written to this let's see which result I currently get from my last for Portman's last known container it says 9, 10, 11, 12 so now I transfer the checkpoint to another system so I say just the SAP to another host and now I connect to the other host and now I restore the container here I say portman container restore import temp checkpoint archive let's give it a name let's call it hello let's call it hello 5 and if I now access the container it should return 9 and it does so now I have migrated my container stateful migration from one system to another and the container just keeps on running here and on the other host because I didn't stop it there so that's the demo for the container migration a few more slides with the commands I'm using for my container migration here which can be viewed offline if necessary so about the future people often ask about Kubernetes and so probably future could be to migrate a container and I'm actively working on this so once I got it into Portman I was starting to look at CRIO which is a container runtime Kubernetes can use and I implemented checkpoint restore for CRIO and now because this requires API changes to the CR interface to the container runtime interface I'm currently waiting for reviews on my Kubernetes enhancement proposal to add checkpoint restore to the CRI API so this is I have an implementation to checkpoint restore containers using CRIO it's not yet migration it's just local checkpoint restore but I think this would be the correct step to get container migration up into Kubernetes and the other things we are working on is non-root checkpoint restore currently CRIO requires being root or Capsis admin you need the right capability to run checkpoint restore so there have been requests from the CRIO community every other month so how is it possible to checkpoint restore a container as non-root and we usually say it's almost possible but we never actually tried to implement unnecessary changes in the kernel and so now with Linux kernel 5.9 there will be a new capability called cap checkpoint restore and the relevant interfaces in the Linux kernel are now protected by the capability cap checkpoint restore so if you give CRIO the capability cap checkpoint restore it should be possible to run CRIO as non-root to checkpoint the processes of your own user the CRIO patches are not yet merged but they exist the kernel patches are merged so this could be ready in a few months to be actually be usable for you on your local system so summary CRIO can checkpoint and restore containers it's integrated in different container engines it's used in production and now the use cases I've shown as reboot into a new kernel without losing container stake you can start multiple copies of one running container to not wait for initialization or to keep all your data loaded into memory and of course migrate running container because this year is about container live migration so this is the main goal of this talk and with this I'm at the end of my presentation those are here links to things I mentioned here during my presentation and with this I'm at the end thank you for listening