SG11201900010QA - Workflow-based object destruction - Google Patents

Workflow-based object destruction

Info

Publication number
SG11201900010QA
SG11201900010QA SG11201900010QA SG11201900010QA SG11201900010QA SG 11201900010Q A SG11201900010Q A SG 11201900010QA SG 11201900010Q A SG11201900010Q A SG 11201900010QA SG 11201900010Q A SG11201900010Q A SG 11201900010QA SG 11201900010Q A SG11201900010Q A SG 11201900010QA
Authority
SG
Singapore
Prior art keywords
destruction
thread
workflow
resource
international
Prior art date
Application number
SG11201900010QA
Inventor
Jeffrey Evan Stall
Original Assignee
Microsoft Technology Licensing Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing Llc filed Critical Microsoft Technology Licensing Llc
Publication of SG11201900010QA publication Critical patent/SG11201900010QA/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0261Garbage collection, i.e. reclamation of unreferenced memory using reference counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • G06F12/0269Incremental or concurrent garbage collection, e.g. in real-time systems
    • G06F12/0276Generational garbage collection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Abstract

INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT) -., (19) World Intellectual Property 1#11101111 01E101011M 3E1 0 1011111 01111 100 HO 111111111011011# Organization International Bureau (10) International Publication Number 03 (43) International Publication Date ......°' WO 2018/013377 Al 18 January 2018 (18.01.2018) W I PO I PCT (51) International Patent Classification: (72) Inventor: STALL, Jeffrey Evan; Microsoft Technology GOOF 9 / 50 (2006.01) GOOF 12/02 (2006.01) Licensing, LLC, One Microsoft Way, Redmond, Washing- ton 98052-6399 (US). (21) International Application Number: PCT/US2017/040570 (74) Agent: MINHAS, Sandip et al.; Microsoft Technology Li- (22) International Filing Date: censing, LLC, One Microsoft Way, Redmond, Washington 03 July 2017 (03.07.2017) 98052-6399 (US). (25) Filing Language: English (81) Designated States (unless otherwise indicated, for every kind of national protection available): AE, AG, AL, AM, (26) Publication Language: English AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY, BZ, (30) Priority Data: CA, CH, CL, CN, CO, CR, CU, CZ, DE, DJ, DK, DM, DO, 15/210,864 14 July 2016 (14.07.2016) US DZ, EC, EE, EG, ES, FL GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IR, IS, JO, JP, KE, KG, KH, KN, KP, (71) Applicant: MICROSOFT TECHNOLOGY LI- KR, KW, KZ, LA, LC, LK, LR, LS, LU, LY, MA, MD, ME, CENSING, LLC [US/US]; One Microsoft Way, Redmond, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, Washington 98052-6399 (US). OM, PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, (54) Title: WORKFLOW-BASED OBJECT DESTRUCTION 7 .-- 200 Cy- 216 106 -, 202 -, 102- THREAD I OBJECT DESTRUCTION OBJECT 104 - /- 104 WORKFLOW OBJECT RESOURCE 1 OBJECT RESOURCE2 z .- 114 A I r - 208 DESTROY DESTROY 116 I /.- 204 OBJECT RESOURCE 0 0U REFERENCE NT I T- 218 102 -, 212 -, 106- 202-, OBJECT OBJECT THREAD 1 OBJECT 104 -, DESTRUCTION DE ST RUCTION OBJECT 206 LIST WORKFLOW RESOURCE 2 REFERENCE X208 DESTROY 118 • 210- RESOURCE CREATE REFERENCE X 204 REFERENCE 1.1 COUNT 1 0- 220 102-, 212-, 106- 202-, OBJECT OBJECT THREAD 2 OBJECT DESTRUCTION 104- \ OBJECT DESTRUCTION 206 LIST WORKFLOW RESOURCE2 REFERENCE I ,-208 DESTROY RESOURCE 116 A REFERENCE c-202 / _214 II . COUNT 0 REFERENCE RELEASE FIG. 2 1-1 (57) : s in a computing environment are often utilized by threads through an object lifecycle, and are destroyed at the end IN of the object lifecycle to reclaim the computing resources used by the object. In some cases, a thread that initiates an object destruction IN of an object may be unable to complete the destruction (e.g., a second thread may hold a synchronization lock over an object resource of en e n the object). An object destruction workflow initiates the destruction of an object on behalf of a thread. If the object destruction workflow 1-1 encounters a failure to complete the object destruction, a new reference to the object is inserted into an object destruction list, as the © last reference to the object. A second thread discovers and releases the last reference in the object destruction list, prompting the object --.... GC destruction workflow to resume the attempt to destroy the object on behalf of the second thread. 1-1 0 ei C [Continued on next page] WO 2018/013377 Al MIDEDIMOMOIDEIREEMOOMMOIIIIIIDERVOIMIE SC, SD, SE, SG, SK, SL, SM, ST, SV, SY, TH, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW. (84) Designated States (unless otherwise indicated, for every kind of regional protection available): ARIPO (BW, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, TZ, UG, ZM, ZW), Eurasian (AM, AZ, BY, KG, KZ, RU, TJ, TM), European (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, TR), OAPI (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD, TG). Declarations under Rule 4.17: — as to applicant's entitlement to apply for and be granted a patent (Rule 4.17(H)) — as to the applicant's entitlement to claim the priority of the earlier application (Rule 4.17(iii)) Published: — with international search report (Art. 21(3))
SG11201900010QA 2016-07-14 2017-07-03 Workflow-based object destruction SG11201900010QA (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/210,864 US10223163B2 (en) 2016-07-14 2016-07-14 Workflow-based object destruction
PCT/US2017/040570 WO2018013377A1 (en) 2016-07-14 2017-07-03 Workflow-based object destruction

Publications (1)

Publication Number Publication Date
SG11201900010QA true SG11201900010QA (en) 2019-01-30

Family

ID=59337912

Family Applications (1)

Application Number Title Priority Date Filing Date
SG11201900010QA SG11201900010QA (en) 2016-07-14 2017-07-03 Workflow-based object destruction

Country Status (17)

Country Link
US (1) US10223163B2 (en)
EP (1) EP3485375B1 (en)
JP (1) JP6941154B2 (en)
KR (1) KR102399406B1 (en)
CN (1) CN109478148B (en)
AU (1) AU2017295814B2 (en)
BR (1) BR112018077371A8 (en)
CA (1) CA3029992A1 (en)
CL (1) CL2019000006A1 (en)
CO (1) CO2018014030A2 (en)
IL (1) IL264145B (en)
MX (1) MX2019000541A (en)
PH (1) PH12018550216A1 (en)
RU (1) RU2746155C2 (en)
SG (1) SG11201900010QA (en)
WO (1) WO2018013377A1 (en)
ZA (1) ZA201808252B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747088B2 (en) * 2013-04-22 2017-08-29 Embarcadero Technologies, Inc. Automatic reference counting
JP2019121240A (en) * 2018-01-09 2019-07-22 東芝メモリ株式会社 Workflow scheduling system, workflow scheduling method and electronic apparatus
CN110246255A (en) * 2019-06-18 2019-09-17 深圳市简工智能科技有限公司 Smart lock controls method, apparatus, computer readable storage medium and system
CN113342427B (en) * 2021-06-01 2022-08-16 青岛小鸟看看科技有限公司 Program control method and device
CN115442635A (en) * 2021-06-04 2022-12-06 武汉斗鱼鱼乐网络科技有限公司 Method, device, equipment and storage medium for cross-platform security filtration of bullet screen

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5398334A (en) 1992-04-06 1995-03-14 General Electric Company System for automatic garbage collection using strong and weak encapsulated pointers
US5758184A (en) * 1995-04-24 1998-05-26 Microsoft Corporation System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US6275857B1 (en) 1996-10-30 2001-08-14 Microsoft Corporation System and method for freeing shared resources in a computer system
US6230213B1 (en) 1997-03-18 2001-05-08 Compaq Computer Corporation Extensible mechanism for providing safe automatic management of objects
US6473773B1 (en) 1997-12-24 2002-10-29 International Business Machines Corporation Memory management in a partially garbage-collected programming system
US6119115A (en) * 1998-03-12 2000-09-12 Microsoft Corporation Method and computer program product for reducing lock contention in a multiple instruction execution stream processing environment
US6681263B1 (en) 1998-03-31 2004-01-20 Intel Corporation Control of software object lifetime
GB9906629D0 (en) 1999-03-23 1999-05-19 Koninkl Philips Electronics Nv Memory reclamation method
US6363403B1 (en) * 1999-06-30 2002-03-26 Lucent Technologies Inc. Garbage collection in object oriented databases using transactional cyclic reference counting
KR100333486B1 (en) * 1999-12-27 2002-04-25 오길록 Active object management method for object-oriented high level languages
US7216136B2 (en) * 2000-12-11 2007-05-08 International Business Machines Corporation Concurrent collection of cyclic garbage in reference counting systems
US7237237B2 (en) 2001-07-24 2007-06-26 The Mathworks, Inc. Designating an object for destruction
US6728738B2 (en) 2002-04-03 2004-04-27 Sun Microsystems, Inc. Fast lifetime analysis of objects in a garbage-collected system
US7472144B2 (en) * 2003-07-28 2008-12-30 International Business Machines Corporation Method and system for resolving memory leaks and releasing obsolete resources from user session data
US7181463B2 (en) * 2003-10-24 2007-02-20 Microsoft Corporation System and method for managing data using static lists
US7363628B2 (en) * 2005-06-27 2008-04-22 Microsoft Corporation Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
CN101046755B (en) * 2006-03-28 2011-06-15 郭明南 System and method of computer automatic memory management
US8548942B2 (en) * 2006-10-04 2013-10-01 Salesforce.Com, Inc. Methods and systems for recursive saving of hierarchical objects to a database
CN101788905A (en) * 2009-01-22 2010-07-28 上海科泰世纪科技有限公司 Object managing method of Applet
CN101639779B (en) * 2009-08-18 2012-07-18 腾讯科技(深圳)有限公司 Resource release method and device
EP2466455A1 (en) 2010-12-15 2012-06-20 Schneider Electric Buildings AB Definition of objects in object-oriented programming environments
WO2012105927A1 (en) 2011-01-31 2012-08-09 The Mathworks Inc. System and method for determining an object's lifetime in a object oriented environment
US9053017B2 (en) 2011-09-09 2015-06-09 Microsoft Technology Licensing, Llc Managing object lifetime in a cyclic graph
US9098515B2 (en) * 2011-11-15 2015-08-04 Sap Se Data destruction mechanisms
CN105373434B (en) * 2015-12-16 2018-11-13 上海携程商务有限公司 resource management system and method

Also Published As

Publication number Publication date
RU2019100443A (en) 2020-07-13
BR112018077371A2 (en) 2019-07-16
ZA201808252B (en) 2020-05-27
IL264145B (en) 2021-09-30
IL264145A (en) 2019-02-28
AU2017295814B2 (en) 2021-09-09
CA3029992A1 (en) 2018-01-18
KR102399406B1 (en) 2022-05-17
KR20190027823A (en) 2019-03-15
RU2019100443A3 (en) 2020-09-23
MX2019000541A (en) 2019-07-04
US20180018206A1 (en) 2018-01-18
EP3485375A1 (en) 2019-05-22
US10223163B2 (en) 2019-03-05
RU2746155C2 (en) 2021-04-08
JP6941154B2 (en) 2021-09-29
CL2019000006A1 (en) 2019-04-26
WO2018013377A1 (en) 2018-01-18
PH12018550216A1 (en) 2019-10-28
BR112018077371A8 (en) 2023-01-31
CN109478148A (en) 2019-03-15
EP3485375B1 (en) 2024-01-10
JP2019525321A (en) 2019-09-05
AU2017295814A1 (en) 2018-12-20
CN109478148B (en) 2022-03-29
CO2018014030A2 (en) 2019-01-18

Similar Documents

Publication Publication Date Title
SG11201900010QA (en) Workflow-based object destruction
SG11201901511QA (en) Managed query service
SG11201903607YA (en) Efficiency enhancements in task management applications
SG11201903604PA (en) Iot security service
SG11201809866PA (en) Cryptographic applications for a blockchain system
SG11201902981RA (en) Iot provisioning service
SG11201905460SA (en) Data unsealing with a sealing enclave
SG11201906695VA (en) Universal bchain e3a connections (ubec)
SG11201906796VA (en) Systems and methods for generating, uploading, and executing code blocks within distributed network nodes
SG11201908293QA (en) Selective application of reprojection processing on layer sub-regions for optimizing late stage reprojection power
SG11201903141QA (en) Business processing method and apparatus
SG11201901550WA (en) Method and apparatus for data processing
SG11201805795WA (en) Systems and methods for securing and disseminating time sensitive information using a blockchain
SG11201803073TA (en) Insect singulator system
SG11201805532XA (en) Multivalent and multispecific 41bb-binding fusion proteins
SG11201809872TA (en) Using hardware based secure isolated region to prevent piracy and cheating on electronic devices
SG11201903885RA (en) Secure key management
SG11201902200TA (en) Power control and triggering of sounding reference signal on multiple component carriers
SG11201809284UA (en) Mobile device connection apparatus
SG11201804085SA (en) Systems and methods for detection of malicious code in runtime generated code
SG11201809886VA (en) Query optimizer for cpu utilization and code refactoring
SG11201905879WA (en) Techniques and apparatuses for handling collisions between legacy transmission time interval (tti) communications and shortened tti communications
SG11201909685RA (en) Methods and apparatus for characterising the environment of a user platform
SG11201907131TA (en) A computer system for acquiring a control command
SG11201900283YA (en) Codeword disabling in multi-subframe grants